From 6e2b736c29f8591b8f315f526d4976160c09b357 Mon Sep 17 00:00:00 2001 From: Amitai Burstein Date: Wed, 7 Dec 2016 23:37:37 +0200 Subject: [PATCH] Add elm v0.18 instead of previous client --- app/templates/client/Gruntfile.js | 505 -- app/templates/client/README.md | 27 + app/templates/client/_bowerrc | 3 - app/templates/client/_editorconfig | 21 - app/templates/client/_gitattributes | 1 - app/templates/client/_gitignore | 8 +- app/templates/client/_jshintrc | 23 - app/templates/client/_travis.yml | 6 - app/templates/client/app/404.html | 157 - app/templates/client/app/CNAME | 1 - app/templates/client/app/favicon.ico | Bin 6774 -> 0 bytes .../client/app/images/marker-blue.png | Bin 8624 -> 0 bytes .../client/app/images/marker-red.png | Bin 8545 -> 0 bytes app/templates/client/app/images/shadow.png | Bin 6433 -> 0 bytes app/templates/client/app/images/yeoman.png | Bin 25159 -> 0 bytes app/templates/client/app/index.html | 98 - app/templates/client/app/robots.txt | 3 - app/templates/client/app/scripts/app.js | 226 - .../client/app/scripts/controllers/account.js | 13 - .../app/scripts/controllers/companies.js | 36 - .../app/scripts/controllers/dashboard.js | 28 - .../client/app/scripts/controllers/events.js | 52 - .../app/scripts/controllers/homepage.js | 21 - .../client/app/scripts/controllers/login.js | 37 - .../app/scripts/directives/loadingbartext.js | 42 - .../client/app/scripts/directives/spinner.js | 19 - .../client/app/scripts/services/account.js | 100 - .../client/app/scripts/services/auth.js | 60 - .../client/app/scripts/services/companies.js | 74 - .../client/app/scripts/services/events.js | 192 - .../client/app/scripts/services/map.js | 56 - .../client/app/scripts/services/marker.js | 71 - .../client/app/scripts/services/utils.js | 68 - .../client/app/styles/_loadingbar.scss | 34 - app/templates/client/app/styles/_spinner.scss | 44 - app/templates/client/app/styles/main.scss | 14 - app/templates/client/app/views/403.html | 1 - .../app/views/dashboard/account/account.html | 11 - .../companies/companies.company.html | 7 - .../views/dashboard/companies/companies.html | 11 - .../app/views/dashboard/events/events.html | 18 - .../client/app/views/dashboard/main.html | 44 - app/templates/client/app/views/login.html | 49 - app/templates/client/bower.json | 28 - app/templates/client/config.example.json | 10 - app/templates/client/config.json | 10 - app/templates/client/config.travis.json | 6 - app/templates/client/elm-package.json | 25 + .../3.0.0/Json-Decode-Pipeline.elmi | Bin 0 -> 3468 bytes .../3.0.0/Json-Decode-Pipeline.elmo | 75 + .../elm-decode-pipeline/3.0.0/graph.dat | Bin 0 -> 1000 bytes .../elm-community/elm-test/3.1.0/Expect.elmi | Bin 0 -> 6767 bytes .../elm-community/elm-test/3.1.0/Expect.elmo | 342 ++ .../elm-test/3.1.0/Fuzz-Internal.elmi | Bin 0 -> 2484 bytes .../elm-test/3.1.0/Fuzz-Internal.elmo | 43 + .../elm-test/3.1.0/RoseTree.elmi | Bin 0 -> 3291 bytes .../elm-test/3.1.0/RoseTree.elmo | 44 + .../elm-test/3.1.0/Test-Expectation.elmi | Bin 0 -> 1056 bytes .../elm-test/3.1.0/Test-Expectation.elmo | 14 + .../elm-community/elm-test/3.1.0/Util.elmi | Bin 0 -> 1727 bytes .../elm-community/elm-test/3.1.0/Util.elmo | 30 + .../elm-community/elm-test/3.1.0/graph.dat | Bin 0 -> 10528 bytes .../json-extra/2.0.0/Json-Decode-Extra.elmi | Bin 0 -> 3670 bytes .../json-extra/2.0.0/Json-Decode-Extra.elmo | 96 + .../json-extra/2.0.0/Json-Encode-Extra.elmi | Bin 0 -> 710 bytes .../json-extra/2.0.0/Json-Encode-Extra.elmo | 9 + .../elm-community/json-extra/2.0.0/graph.dat | Bin 0 -> 2163 bytes .../lazy-list/1.0.0/Lazy-List.elmi | Bin 0 -> 42098 bytes .../lazy-list/1.0.0/Lazy-List.elmo | 687 +++ .../elm-community/lazy-list/1.0.0/graph.dat | Bin 0 -> 1161 bytes .../elm-community/shrink/2.0.0/graph.dat | Bin 0 -> 1305 bytes .../0.17.1/elm-lang/core/5.0.0/Array.elmi | Bin 0 -> 3748 bytes .../0.17.1/elm-lang/core/5.0.0/Array.elmo | 54 + .../0.17.1/elm-lang/core/5.0.0/Basics.elmi | Bin 0 -> 5451 bytes .../0.17.1/elm-lang/core/5.0.0/Basics.elmo | 125 + .../0.17.1/elm-lang/core/5.0.0/Bitwise.elmi | Bin 0 -> 727 bytes .../0.17.1/elm-lang/core/5.0.0/Bitwise.elmo | 7 + .../0.17.1/elm-lang/core/5.0.0/Char.elmi | Bin 0 -> 1214 bytes .../0.17.1/elm-lang/core/5.0.0/Char.elmo | 42 + .../0.17.1/elm-lang/core/5.0.0/Color.elmi | Bin 0 -> 7497 bytes .../0.17.1/elm-lang/core/5.0.0/Color.elmo | 165 + .../0.17.1/elm-lang/core/5.0.0/Date.elmi | Bin 0 -> 4329 bytes .../0.17.1/elm-lang/core/5.0.0/Date.elmo | 32 + .../0.17.1/elm-lang/core/5.0.0/Debug.elmi | Bin 0 -> 338 bytes .../0.17.1/elm-lang/core/5.0.0/Debug.elmo | 2 + .../0.17.1/elm-lang/core/5.0.0/Dict.elmi | Bin 0 -> 11821 bytes .../0.17.1/elm-lang/core/5.0.0/Dict.elmo | 893 +++ .../elm-lang/core/5.0.0/Json-Decode.elmi | Bin 0 -> 10888 bytes .../elm-lang/core/5.0.0/Json-Decode.elmo | 58 + .../elm-lang/core/5.0.0/Json-Encode.elmi | Bin 0 -> 1826 bytes .../elm-lang/core/5.0.0/Json-Encode.elmo | 10 + .../0.17.1/elm-lang/core/5.0.0/List.elmi | Bin 0 -> 5943 bytes .../0.17.1/elm-lang/core/5.0.0/List.elmo | 528 ++ .../0.17.1/elm-lang/core/5.0.0/Maybe.elmi | Bin 0 -> 2988 bytes .../0.17.1/elm-lang/core/5.0.0/Maybe.elmo | 72 + .../elm-lang/core/5.0.0/Platform-Cmd.elmi | Bin 0 -> 1287 bytes .../elm-lang/core/5.0.0/Platform-Cmd.elmo | 15 + .../elm-lang/core/5.0.0/Platform-Sub.elmi | Bin 0 -> 1007 bytes .../elm-lang/core/5.0.0/Platform-Sub.elmo | 6 + .../0.17.1/elm-lang/core/5.0.0/Platform.elmi | Bin 0 -> 2957 bytes .../0.17.1/elm-lang/core/5.0.0/Platform.elmo | 9 + .../0.17.1/elm-lang/core/5.0.0/Process.elmi | Bin 0 -> 1824 bytes .../0.17.1/elm-lang/core/5.0.0/Process.elmo | 3 + .../0.17.1/elm-lang/core/5.0.0/Random.elmi | Bin 0 -> 10684 bytes .../0.17.1/elm-lang/core/5.0.0/Random.elmo | 379 ++ .../0.17.1/elm-lang/core/5.0.0/Regex.elmi | Bin 0 -> 3128 bytes .../0.17.1/elm-lang/core/5.0.0/Regex.elmo | 16 + .../0.17.1/elm-lang/core/5.0.0/Result.elmi | Bin 0 -> 4032 bytes .../0.17.1/elm-lang/core/5.0.0/Result.elmo | 141 + .../0.17.1/elm-lang/core/5.0.0/Set.elmi | Bin 0 -> 4144 bytes .../0.17.1/elm-lang/core/5.0.0/Set.elmo | 130 + .../0.17.1/elm-lang/core/5.0.0/String.elmi | Bin 0 -> 3828 bytes .../0.17.1/elm-lang/core/5.0.0/String.elmo | 43 + .../0.17.1/elm-lang/core/5.0.0/Task.elmi | Bin 0 -> 11881 bytes .../0.17.1/elm-lang/core/5.0.0/Task.elmo | 197 + .../0.17.1/elm-lang/core/5.0.0/Time.elmi | Bin 0 -> 16895 bytes .../0.17.1/elm-lang/core/5.0.0/Time.elmo | 185 + .../0.17.1/elm-lang/core/5.0.0/Tuple.elmi | Bin 0 -> 656 bytes .../0.17.1/elm-lang/core/5.0.0/Tuple.elmo | 26 + .../0.17.1/elm-lang/core/5.0.0/graph.dat | Bin 0 -> 13720 bytes .../elm-lang/dom/1.1.1/Dom-LowLevel.elmi | Bin 0 -> 2316 bytes .../elm-lang/dom/1.1.1/Dom-LowLevel.elmo | 2 + .../0.17.1/elm-lang/dom/1.1.1/Dom-Scroll.elmi | Bin 0 -> 3943 bytes .../0.17.1/elm-lang/dom/1.1.1/Dom-Scroll.elmo | 12 + .../0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmi | Bin 0 -> 2095 bytes .../0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmo | 6 + .../0.17.1/elm-lang/dom/1.1.1/Dom.elmi | Bin 0 -> 1553 bytes .../0.17.1/elm-lang/dom/1.1.1/Dom.elmo | 5 + .../0.17.1/elm-lang/dom/1.1.1/graph.dat | Bin 0 -> 4417 bytes .../0.17.1/elm-lang/html/2.0.0/graph.dat | Bin 0 -> 5022 bytes .../elm-lang/http/1.0.0/Http-Internal.elmi | Bin 0 -> 6431 bytes .../elm-lang/http/1.0.0/Http-Internal.elmo | 26 + .../elm-lang/http/1.0.0/Http-Progress.elmi | Bin 0 -> 23111 bytes .../elm-lang/http/1.0.0/Http-Progress.elmo | 195 + .../0.17.1/elm-lang/http/1.0.0/Http.elmi | Bin 0 -> 10344 bytes .../0.17.1/elm-lang/http/1.0.0/Http.elmo | 97 + .../0.17.1/elm-lang/http/1.0.0/graph.dat | Bin 0 -> 4099 bytes .../0.17.1/elm-lang/lazy/2.0.0/Lazy.elmi | Bin 0 -> 3453 bytes .../0.17.1/elm-lang/lazy/2.0.0/Lazy.elmo | 92 + .../0.17.1/elm-lang/lazy/2.0.0/graph.dat | Bin 0 -> 1112 bytes .../elm-lang/navigation/2.0.1/graph.dat | Bin 0 -> 1575 bytes .../virtual-dom/2.0.2/VirtualDom-Helpers.elmi | Bin 0 -> 7363 bytes .../virtual-dom/2.0.2/VirtualDom-Helpers.elmo | 45 + .../virtual-dom/2.0.2/VirtualDom-Report.elmi | Bin 0 -> 5248 bytes .../virtual-dom/2.0.2/VirtualDom-Report.elmo | 105 + .../elm-lang/virtual-dom/2.0.2/graph.dat | Bin 0 -> 10726 bytes .../remotedata/4.0.1/RemoteData-Infix.elmi | Bin 0 -> 1071 bytes .../remotedata/4.0.1/RemoteData-Infix.elmo | 4 + .../remotedata/4.0.1/RemoteData.elmi | Bin 0 -> 6270 bytes .../remotedata/4.0.1/RemoteData.elmo | 232 + .../krisajenkins/remotedata/4.0.1/graph.dat | Bin 0 -> 1965 bytes .../elm-http-builder/4.0.0/HttpBuilder.elmi | Bin 0 -> 14470 bytes .../elm-http-builder/4.0.0/HttpBuilder.elmo | 192 + .../elm-http-builder/4.0.0/graph.dat | Bin 0 -> 1560 bytes .../4.0.2/Random-Pcg-Interop.elmi | Bin 0 -> 641 bytes .../4.0.2/Random-Pcg-Interop.elmo | 4 + .../elm-random-pcg/4.0.2/Random-Pcg.elmi | Bin 0 -> 10553 bytes .../elm-random-pcg/4.0.2/Random-Pcg.elmo | 607 ++ .../mgold/elm-random-pcg/4.0.2/graph.dat | Bin 0 -> 2363 bytes .../0.17.1/sporto/erl/11.0.0/Erl.elmi | Bin 0 -> 15772 bytes .../0.17.1/sporto/erl/11.0.0/Erl.elmo | 449 ++ .../0.17.1/sporto/erl/11.0.0/graph.dat | Bin 0 -> 1104 bytes .../0.17.1/truqu/elm-base64/1.0.5/Base64.elmi | Bin 0 -> 1704 bytes .../0.17.1/truqu/elm-base64/1.0.5/Base64.elmo | 180 + .../truqu/elm-base64/1.0.5/BitList.elmi | Bin 0 -> 1634 bytes .../truqu/elm-base64/1.0.5/BitList.elmo | 82 + .../0.17.1/truqu/elm-base64/1.0.5/graph.dat | Bin 0 -> 2395 bytes .../Gizra/elm-spa-exmple/1.0.0/App-Model.elmi | Bin 0 -> 8359 bytes .../Gizra/elm-spa-exmple/1.0.0/App-Model.elmo | 20 + .../Gizra/elm-spa-exmple/1.0.0/App-Test.elmi | Bin 0 -> 1335 bytes .../Gizra/elm-spa-exmple/1.0.0/App-Test.elmo | 120 + .../elm-spa-exmple/1.0.0/App-Update.elmi | Bin 0 -> 6926 bytes .../elm-spa-exmple/1.0.0/App-Update.elmo | 123 + .../Gizra/elm-spa-exmple/1.0.0/App-View.elmi | Bin 0 -> 12841 bytes .../Gizra/elm-spa-exmple/1.0.0/App-View.elmo | 361 ++ .../elm-spa-exmple/1.0.0/Config-Model.elmi | Bin 0 -> 1130 bytes .../elm-spa-exmple/1.0.0/Config-Model.elmo | 4 + .../elm-spa-exmple/1.0.0/Config-View.elmi | Bin 0 -> 711 bytes .../elm-spa-exmple/1.0.0/Config-View.elmo | 30 + .../Gizra/elm-spa-exmple/1.0.0/Config.elmi | Bin 0 -> 1470 bytes .../Gizra/elm-spa-exmple/1.0.0/Config.elmo | 12 + .../Gizra/elm-spa-exmple/1.0.0/Main.elmi | Bin 0 -> 4286 bytes .../Gizra/elm-spa-exmple/1.0.0/Main.elmo | 17 + .../1.0.0/Pages-Login-Decoder.elmi | Bin 0 -> 1455 bytes .../1.0.0/Pages-Login-Decoder.elmo | 46 + .../1.0.0/Pages-Login-Model.elmi | Bin 0 -> 4786 bytes .../1.0.0/Pages-Login-Model.elmo | 28 + .../1.0.0/Pages-Login-Update.elmi | Bin 0 -> 3414 bytes .../1.0.0/Pages-Login-Update.elmo | 115 + .../1.0.0/Pages-Login-View.elmi | Bin 0 -> 1989 bytes .../1.0.0/Pages-Login-View.elmo | 178 + .../1.0.0/Pages-MyAccount-View.elmi | Bin 0 -> 1392 bytes .../1.0.0/Pages-MyAccount-View.elmo | 81 + .../1.0.0/Pages-PageNotFound-View.elmi | Bin 0 -> 707 bytes .../1.0.0/Pages-PageNotFound-View.elmo | 19 + .../elm-spa-exmple/1.0.0/User-Decoder.elmi | Bin 0 -> 898 bytes .../elm-spa-exmple/1.0.0/User-Decoder.elmo | 14 + .../elm-spa-exmple/1.0.0/User-Model.elmi | Bin 0 -> 823 bytes .../elm-spa-exmple/1.0.0/User-Model.elmo | 4 + .../elm-spa-exmple/1.0.0/Utils-Json.elmi | Bin 0 -> 751 bytes .../elm-spa-exmple/1.0.0/Utils-Json.elmo | 21 + .../elm-spa-exmple/1.0.0/Utils-WebData.elmi | Bin 0 -> 1313 bytes .../elm-spa-exmple/1.0.0/Utils-WebData.elmo | 96 + .../3.0.0/Json-Decode-Pipeline.elmi | Bin 0 -> 3511 bytes .../3.0.0/Json-Decode-Pipeline.elmo | 79 + .../elm-decode-pipeline/3.0.0/graph.dat | Bin 0 -> 1147 bytes .../elm-community/elm-test/3.1.0/Expect.elmi | Bin 0 -> 6812 bytes .../elm-community/elm-test/3.1.0/Expect.elmo | 392 ++ .../elm-test/3.1.0/Fuzz-Internal.elmi | Bin 0 -> 2527 bytes .../elm-test/3.1.0/Fuzz-Internal.elmo | 43 + .../elm-community/elm-test/3.1.0/Fuzz.elmi | Bin 0 -> 22955 bytes .../elm-community/elm-test/3.1.0/Fuzz.elmo | 1124 ++++ .../elm-test/3.1.0/RoseTree.elmi | Bin 0 -> 3334 bytes .../elm-test/3.1.0/RoseTree.elmo | 44 + .../elm-test/3.1.0/Test-Expectation.elmi | Bin 0 -> 1099 bytes .../elm-test/3.1.0/Test-Expectation.elmo | 14 + .../elm-test/3.1.0/Test-Internal.elmi | Bin 0 -> 3978 bytes .../elm-test/3.1.0/Test-Internal.elmo | 134 + .../elm-test/3.1.0/Test-Runner.elmi | Bin 0 -> 3711 bytes .../elm-test/3.1.0/Test-Runner.elmo | 159 + .../elm-community/elm-test/3.1.0/Test.elmi | Bin 0 -> 9473 bytes .../elm-community/elm-test/3.1.0/Test.elmo | 133 + .../elm-community/elm-test/3.1.0/Util.elmi | Bin 0 -> 1748 bytes .../elm-community/elm-test/3.1.0/Util.elmo | 30 + .../elm-community/elm-test/3.1.0/graph.dat | Bin 0 -> 11851 bytes .../json-extra/2.0.0/Json-Decode-Extra.elmi | Bin 0 -> 3713 bytes .../json-extra/2.0.0/Json-Decode-Extra.elmo | 95 + .../json-extra/2.0.0/Json-Encode-Extra.elmi | Bin 0 -> 753 bytes .../json-extra/2.0.0/Json-Encode-Extra.elmo | 9 + .../elm-community/json-extra/2.0.0/graph.dat | Bin 0 -> 2457 bytes .../lazy-list/1.0.0/Lazy-List.elmi | Bin 0 -> 42141 bytes .../lazy-list/1.0.0/Lazy-List.elmo | 686 +++ .../elm-community/lazy-list/1.0.0/graph.dat | Bin 0 -> 1308 bytes .../elm-community/shrink/2.0.0/Shrink.elmi | Bin 0 -> 28721 bytes .../elm-community/shrink/2.0.0/Shrink.elmo | 918 +++ .../elm-community/shrink/2.0.0/graph.dat | Bin 0 -> 1452 bytes .../0.18.0/elm-lang/core/5.0.0/Array.elmi | Bin 0 -> 3748 bytes .../0.18.0/elm-lang/core/5.0.0/Array.elmo | 54 + .../0.18.0/elm-lang/core/5.0.0/Basics.elmi | Bin 0 -> 5451 bytes .../0.18.0/elm-lang/core/5.0.0/Basics.elmo | 125 + .../0.18.0/elm-lang/core/5.0.0/Bitwise.elmi | Bin 0 -> 727 bytes .../0.18.0/elm-lang/core/5.0.0/Bitwise.elmo | 7 + .../0.18.0/elm-lang/core/5.0.0/Char.elmi | Bin 0 -> 1214 bytes .../0.18.0/elm-lang/core/5.0.0/Char.elmo | 42 + .../0.18.0/elm-lang/core/5.0.0/Color.elmi | Bin 0 -> 7497 bytes .../0.18.0/elm-lang/core/5.0.0/Color.elmo | 165 + .../0.18.0/elm-lang/core/5.0.0/Date.elmi | Bin 0 -> 4329 bytes .../0.18.0/elm-lang/core/5.0.0/Date.elmo | 32 + .../0.18.0/elm-lang/core/5.0.0/Debug.elmi | Bin 0 -> 338 bytes .../0.18.0/elm-lang/core/5.0.0/Debug.elmo | 2 + .../0.18.0/elm-lang/core/5.0.0/Dict.elmi | Bin 0 -> 11861 bytes .../0.18.0/elm-lang/core/5.0.0/Dict.elmo | 916 +++ .../elm-lang/core/5.0.0/Json-Decode.elmi | Bin 0 -> 10952 bytes .../elm-lang/core/5.0.0/Json-Decode.elmo | 62 + .../elm-lang/core/5.0.0/Json-Encode.elmi | Bin 0 -> 1826 bytes .../elm-lang/core/5.0.0/Json-Encode.elmo | 10 + .../0.18.0/elm-lang/core/5.0.0/List.elmi | Bin 0 -> 5983 bytes .../0.18.0/elm-lang/core/5.0.0/List.elmo | 545 ++ .../0.18.0/elm-lang/core/5.0.0/Maybe.elmi | Bin 0 -> 3020 bytes .../0.18.0/elm-lang/core/5.0.0/Maybe.elmo | 72 + .../elm-lang/core/5.0.0/Platform-Cmd.elmi | Bin 0 -> 1311 bytes .../elm-lang/core/5.0.0/Platform-Cmd.elmo | 14 + .../elm-lang/core/5.0.0/Platform-Sub.elmi | Bin 0 -> 1019 bytes .../elm-lang/core/5.0.0/Platform-Sub.elmo | 5 + .../0.18.0/elm-lang/core/5.0.0/Platform.elmi | Bin 0 -> 3057 bytes .../0.18.0/elm-lang/core/5.0.0/Platform.elmo | 9 + .../0.18.0/elm-lang/core/5.0.0/Process.elmi | Bin 0 -> 1824 bytes .../0.18.0/elm-lang/core/5.0.0/Process.elmo | 3 + .../0.18.0/elm-lang/core/5.0.0/Random.elmi | Bin 0 -> 10702 bytes .../0.18.0/elm-lang/core/5.0.0/Random.elmo | 378 ++ .../0.18.0/elm-lang/core/5.0.0/Regex.elmi | Bin 0 -> 3128 bytes .../0.18.0/elm-lang/core/5.0.0/Regex.elmo | 16 + .../0.18.0/elm-lang/core/5.0.0/Result.elmi | Bin 0 -> 4096 bytes .../0.18.0/elm-lang/core/5.0.0/Result.elmo | 141 + .../0.18.0/elm-lang/core/5.0.0/Set.elmi | Bin 0 -> 4144 bytes .../0.18.0/elm-lang/core/5.0.0/Set.elmo | 130 + .../0.18.0/elm-lang/core/5.0.0/String.elmi | Bin 0 -> 3828 bytes .../0.18.0/elm-lang/core/5.0.0/String.elmo | 43 + .../0.18.0/elm-lang/core/5.0.0/Task.elmi | Bin 0 -> 11969 bytes .../0.18.0/elm-lang/core/5.0.0/Task.elmo | 196 + .../0.18.0/elm-lang/core/5.0.0/Time.elmi | Bin 0 -> 16983 bytes .../0.18.0/elm-lang/core/5.0.0/Time.elmo | 187 + .../0.18.0/elm-lang/core/5.0.0/Tuple.elmi | Bin 0 -> 666 bytes .../0.18.0/elm-lang/core/5.0.0/Tuple.elmo | 26 + .../0.18.0/elm-lang/core/5.0.0/graph.dat | Bin 0 -> 13720 bytes .../elm-lang/dom/1.1.1/Dom-LowLevel.elmi | Bin 0 -> 2367 bytes .../elm-lang/dom/1.1.1/Dom-LowLevel.elmo | 2 + .../0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmi | Bin 0 -> 3986 bytes .../0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmo | 12 + .../0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmi | Bin 0 -> 2138 bytes .../0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmo | 6 + .../0.18.0/elm-lang/dom/1.1.1/Dom.elmi | Bin 0 -> 1596 bytes .../0.18.0/elm-lang/dom/1.1.1/Dom.elmo | 5 + .../0.18.0/elm-lang/dom/1.1.1/graph.dat | Bin 0 -> 5005 bytes .../elm-lang/html/2.0.0/Html-Attributes.elmi | Bin 0 -> 25739 bytes .../elm-lang/html/2.0.0/Html-Attributes.elmo | 349 ++ .../elm-lang/html/2.0.0/Html-Events.elmi | Bin 0 -> 5814 bytes .../elm-lang/html/2.0.0/Html-Events.elmo | 114 + .../elm-lang/html/2.0.0/Html-Keyed.elmi | Bin 0 -> 2568 bytes .../elm-lang/html/2.0.0/Html-Keyed.elmo | 3 + .../0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi | Bin 0 -> 1831 bytes .../0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo | 3 + .../0.18.0/elm-lang/html/2.0.0/Html.elmi | Bin 0 -> 68309 bytes .../0.18.0/elm-lang/html/2.0.0/Html.elmo | 124 + .../0.18.0/elm-lang/html/2.0.0/graph.dat | Bin 0 -> 5757 bytes .../elm-lang/http/1.0.0/Http-Internal.elmi | Bin 0 -> 6474 bytes .../elm-lang/http/1.0.0/Http-Internal.elmo | 26 + .../elm-lang/http/1.0.0/Http-Progress.elmi | Bin 0 -> 23286 bytes .../elm-lang/http/1.0.0/Http-Progress.elmo | 195 + .../0.18.0/elm-lang/http/1.0.0/Http.elmi | Bin 0 -> 10400 bytes .../0.18.0/elm-lang/http/1.0.0/Http.elmo | 94 + .../0.18.0/elm-lang/http/1.0.0/graph.dat | Bin 0 -> 4540 bytes .../0.18.0/elm-lang/lazy/2.0.0/Lazy.elmi | Bin 0 -> 3536 bytes .../0.18.0/elm-lang/lazy/2.0.0/Lazy.elmo | 92 + .../0.18.0/elm-lang/lazy/2.0.0/graph.dat | Bin 0 -> 1259 bytes .../elm-lang/navigation/2.0.1/Navigation.elmi | Bin 0 -> 22337 bytes .../elm-lang/navigation/2.0.1/Navigation.elmo | 244 + .../elm-lang/navigation/2.0.1/graph.dat | Bin 0 -> 1722 bytes .../elm-lang/trampoline/1.0.1/Trampoline.elmi | Bin 0 -> 1546 bytes .../elm-lang/trampoline/1.0.1/Trampoline.elmo | 22 + .../elm-lang/trampoline/1.0.1/graph.dat | Bin 0 -> 1000 bytes .../virtual-dom/2.0.2/VirtualDom-Debug.elmi | Bin 0 -> 117074 bytes .../virtual-dom/2.0.2/VirtualDom-Debug.elmo | 622 ++ .../virtual-dom/2.0.2/VirtualDom-Expando.elmi | Bin 0 -> 15930 bytes .../virtual-dom/2.0.2/VirtualDom-Expando.elmo | 1353 +++++ .../virtual-dom/2.0.2/VirtualDom-Helpers.elmi | Bin 0 -> 7488 bytes .../virtual-dom/2.0.2/VirtualDom-Helpers.elmo | 45 + .../virtual-dom/2.0.2/VirtualDom-History.elmi | Bin 0 -> 17789 bytes .../virtual-dom/2.0.2/VirtualDom-History.elmo | 363 ++ .../2.0.2/VirtualDom-Metadata.elmi | Bin 0 -> 30519 bytes .../2.0.2/VirtualDom-Metadata.elmo | 393 ++ .../virtual-dom/2.0.2/VirtualDom-Overlay.elmi | Bin 0 -> 14893 bytes .../virtual-dom/2.0.2/VirtualDom-Overlay.elmo | 793 +++ .../virtual-dom/2.0.2/VirtualDom-Report.elmi | Bin 0 -> 5291 bytes .../virtual-dom/2.0.2/VirtualDom-Report.elmo | 98 + .../virtual-dom/2.0.2/VirtualDom.elmi | Bin 0 -> 6882 bytes .../virtual-dom/2.0.2/VirtualDom.elmo | 30 + .../elm-lang/virtual-dom/2.0.2/graph.dat | Bin 0 -> 11902 bytes .../elm-exts/26.1.1/Exts-Array.elmi | Bin 0 -> 1370 bytes .../elm-exts/26.1.1/Exts-Array.elmo | 46 + .../elm-exts/26.1.1/Exts-Basics.elmi | Bin 0 -> 772 bytes .../elm-exts/26.1.1/Exts-Basics.elmo | 19 + .../elm-exts/26.1.1/Exts-Date.elmi | Bin 0 -> 806 bytes .../elm-exts/26.1.1/Exts-Date.elmo | 128 + .../elm-exts/26.1.1/Exts-Delta.elmi | Bin 0 -> 2587 bytes .../elm-exts/26.1.1/Exts-Delta.elmo | 83 + .../elm-exts/26.1.1/Exts-Dict.elmi | Bin 0 -> 1981 bytes .../elm-exts/26.1.1/Exts-Dict.elmo | 84 + .../elm-exts/26.1.1/Exts-Float.elmi | Bin 0 -> 515 bytes .../elm-exts/26.1.1/Exts-Float.elmo | 7 + .../elm-exts/26.1.1/Exts-Function.elmi | Bin 0 -> 693 bytes .../elm-exts/26.1.1/Exts-Function.elmo | 20 + .../elm-exts/26.1.1/Exts-Html-Attributes.elmi | Bin 0 -> 1944 bytes .../elm-exts/26.1.1/Exts-Html-Attributes.elmo | 24 + .../Exts-Html-Bootstrap-Glyphicons.elmi | Bin 0 -> 47859 bytes .../Exts-Html-Bootstrap-Glyphicons.elmo | 822 +++ .../elm-exts/26.1.1/Exts-Html-Bootstrap.elmi | Bin 0 -> 7006 bytes .../elm-exts/26.1.1/Exts-Html-Bootstrap.elmo | 264 + .../elm-exts/26.1.1/Exts-Html-Events.elmi | Bin 0 -> 1771 bytes .../elm-exts/26.1.1/Exts-Html-Events.elmo | 30 + .../elm-exts/26.1.1/Exts-Html-Table.elmi | Bin 0 -> 4342 bytes .../elm-exts/26.1.1/Exts-Html-Table.elmo | 105 + .../elm-exts/26.1.1/Exts-Html.elmi | Bin 0 -> 1106 bytes .../elm-exts/26.1.1/Exts-Html.elmo | 60 + .../elm-exts/26.1.1/Exts-Int.elmi | Bin 0 -> 584 bytes .../elm-exts/26.1.1/Exts-Int.elmo | 4 + .../elm-exts/26.1.1/Exts-Json-Decode.elmi | Bin 0 -> 1490 bytes .../elm-exts/26.1.1/Exts-Json-Decode.elmo | 25 + .../elm-exts/26.1.1/Exts-Json-Encode.elmi | Bin 0 -> 1520 bytes .../elm-exts/26.1.1/Exts-Json-Encode.elmo | 34 + .../elm-exts/26.1.1/Exts-LatLng.elmi | Bin 0 -> 887 bytes .../elm-exts/26.1.1/Exts-LatLng.elmo | 27 + .../elm-exts/26.1.1/Exts-List.elmi | Bin 0 -> 2339 bytes .../elm-exts/26.1.1/Exts-List.elmo | 145 + .../elm-exts/26.1.1/Exts-Maybe.elmi | Bin 0 -> 2602 bytes .../elm-exts/26.1.1/Exts-Maybe.elmo | 73 + .../elm-exts/26.1.1/Exts-Result.elmi | Bin 0 -> 1749 bytes .../elm-exts/26.1.1/Exts-Result.elmo | 52 + .../elm-exts/26.1.1/Exts-Set.elmi | Bin 0 -> 1165 bytes .../elm-exts/26.1.1/Exts-Set.elmo | 20 + .../elm-exts/26.1.1/Exts-String.elmi | Bin 0 -> 530 bytes .../elm-exts/26.1.1/Exts-String.elmo | 7 + .../elm-exts/26.1.1/Exts-Task.elmi | Bin 0 -> 1446 bytes .../elm-exts/26.1.1/Exts-Task.elmo | 8 + .../elm-exts/26.1.1/Exts-Tuple.elmi | Bin 0 -> 1599 bytes .../elm-exts/26.1.1/Exts-Tuple.elmo | 72 + .../elm-exts/26.1.1/Exts-Validation.elmi | Bin 0 -> 3111 bytes .../elm-exts/26.1.1/Exts-Validation.elmo | 45 + .../krisajenkins/elm-exts/26.1.1/graph.dat | Bin 0 -> 28566 bytes .../remotedata/4.0.1/RemoteData-Infix.elmi | Bin 0 -> 1114 bytes .../remotedata/4.0.1/RemoteData-Infix.elmo | 4 + .../remotedata/4.0.1/RemoteData.elmi | Bin 0 -> 6313 bytes .../remotedata/4.0.1/RemoteData.elmo | 232 + .../krisajenkins/remotedata/4.0.1/graph.dat | Bin 0 -> 2259 bytes .../elm-http-builder/4.0.0/HttpBuilder.elmi | Bin 0 -> 14495 bytes .../elm-http-builder/4.0.0/HttpBuilder.elmo | 191 + .../elm-http-builder/4.0.0/graph.dat | Bin 0 -> 1707 bytes .../4.0.2/Random-Pcg-Interop.elmi | Bin 0 -> 684 bytes .../4.0.2/Random-Pcg-Interop.elmo | 4 + .../elm-random-pcg/4.0.2/Random-Pcg.elmi | Bin 0 -> 10579 bytes .../elm-random-pcg/4.0.2/Random-Pcg.elmo | 560 ++ .../mgold/elm-random-pcg/4.0.2/graph.dat | Bin 0 -> 2657 bytes .../node-test-runner/3.0.0/Chalk.elmi | Bin 0 -> 1418 bytes .../node-test-runner/3.0.0/Chalk.elmo | 43 + .../3.0.0/Test-Reporter-Chalk.elmi | Bin 0 -> 3673 bytes .../3.0.0/Test-Reporter-Chalk.elmo | 230 + .../3.0.0/Test-Reporter-Json.elmi | Bin 0 -> 3189 bytes .../3.0.0/Test-Reporter-Json.elmo | 179 + .../3.0.0/Test-Reporter-Reporter.elmi | Bin 0 -> 7931 bytes .../3.0.0/Test-Reporter-Reporter.elmo | 14 + .../3.0.0/Test-Reporter-Result.elmi | Bin 0 -> 2174 bytes .../3.0.0/Test-Reporter-Result.elmo | 8 + .../3.0.0/Test-Runner-Node-App.elmi | Bin 0 -> 18609 bytes .../3.0.0/Test-Runner-Node-App.elmo | 288 + .../3.0.0/Test-Runner-Node.elmi | Bin 0 -> 41933 bytes .../3.0.0/Test-Runner-Node.elmo | 243 + .../node-test-runner/3.0.0/graph.dat | Bin 0 -> 10985 bytes .../0.18.0/sporto/erl/11.0.0/Erl.elmi | Bin 0 -> 15793 bytes .../0.18.0/sporto/erl/11.0.0/Erl.elmo | 443 ++ .../0.18.0/sporto/erl/11.0.0/graph.dat | Bin 0 -> 1251 bytes .../0.18.0/truqu/elm-base64/1.0.5/Base64.elmi | Bin 0 -> 1725 bytes .../0.18.0/truqu/elm-base64/1.0.5/Base64.elmo | 218 + .../truqu/elm-base64/1.0.5/BitList.elmi | Bin 0 -> 1677 bytes .../truqu/elm-base64/1.0.5/BitList.elmo | 90 + .../0.18.0/truqu/elm-base64/1.0.5/graph.dat | Bin 0 -> 2689 bytes .../client/elm-stuff/exact-dependencies.json | 20 + .../elm-decode-pipeline/3.0.0/.gitignore | 4 + .../elm-decode-pipeline/3.0.0/LICENSE | 27 + .../elm-decode-pipeline/3.0.0/README.md | 108 + .../3.0.0/elm-package.json | 16 + .../3.0.0/examples/Example.elm | 19 + .../3.0.0/src/Json/Decode/Pipeline.elm | 292 + .../3.0.0/tests/.gitignore | 1 + .../elm-decode-pipeline/3.0.0/tests/Main.elm | 19 + .../elm-decode-pipeline/3.0.0/tests/Tests.elm | 114 + .../3.0.0/tests/elm-package.json | 17 + .../elm-community/elm-test/3.1.0/.gitignore | 5 + .../elm-community/elm-test/3.1.0/.travis.yml | 46 + .../elm-community/elm-test/3.1.0/LICENSE | 27 + .../elm-community/elm-test/3.1.0/README.md | 107 + .../elm-test/3.1.0/elm-package.json | 22 + .../elm-test/3.1.0/src/Expect.elm | 649 ++ .../elm-community/elm-test/3.1.0/src/Fuzz.elm | 802 +++ .../elm-test/3.1.0/src/Fuzz/Internal.elm | 58 + .../elm-test/3.1.0/src/RoseTree.elm | 59 + .../elm-community/elm-test/3.1.0/src/Test.elm | 307 + .../elm-test/3.1.0/src/Test/Expectation.elm | 16 + .../elm-test/3.1.0/src/Test/Internal.elm | 133 + .../elm-test/3.1.0/src/Test/Runner.elm | 149 + .../elm-community/elm-test/3.1.0/src/Util.elm | 32 + .../elm-test/3.1.0/tests/Main.elm | 22 + .../elm-test/3.1.0/tests/README.md | 6 + .../elm-test/3.1.0/tests/Runner/Log.elm | 76 + .../elm-test/3.1.0/tests/Runner/String.elm | 111 + .../elm-test/3.1.0/tests/Tests.elm | 229 + .../elm-test/3.1.0/tests/elm-package.json | 19 + .../elm-test/3.1.0/tests/package.json | 22 + .../elm-test/3.1.0/tests/run-tests.js | 19 + .../elm-community/json-extra/2.0.0/.gitignore | 2 + .../json-extra/2.0.0/CHANGELOG.md | 25 + .../elm-community/json-extra/2.0.0/LICENSE | 21 + .../elm-community/json-extra/2.0.0/README.md | 3 + .../json-extra/2.0.0/docs/andMap.md | 61 + .../json-extra/2.0.0/docs/infixAndMap.md | 131 + .../json-extra/2.0.0/elm-package.json | 17 + .../2.0.0/src/Json/Decode/Extra.elm | 174 + .../2.0.0/src/Json/Encode/Extra.elm | 26 + .../elm-community/lazy-list/1.0.0/.gitignore | 1 + .../elm-community/lazy-list/1.0.0/README.md | 5 + .../lazy-list/1.0.0/elm-package.json | 17 + .../lazy-list/1.0.0/src/Lazy/List.elm | 748 +++ .../elm-community/shrink/2.0.0/.gitignore | 1 + .../elm-community/shrink/2.0.0/README.md | 241 + .../shrink/2.0.0/elm-package.json | 18 + .../elm-community/shrink/2.0.0/src/Shrink.elm | 467 ++ .../packages/elm-lang/core/5.0.0/.eslintrc | 156 + .../packages/elm-lang/core/5.0.0/.gitignore | 2 + .../packages/elm-lang/core/5.0.0/.travis.yml | 8 + .../elm-lang/core/5.0.0/CONTRIBUTING.md | 41 + .../packages/elm-lang/core/5.0.0/LICENSE | 30 + .../packages/elm-lang/core/5.0.0/README.md | 34 + .../packages/elm-lang/core/5.0.0/changelog.md | 143 + .../elm-lang/core/5.0.0/elm-package.json | 38 + .../elm-lang/core/5.0.0/src/Array.elm | 240 + .../elm-lang/core/5.0.0/src/Basics.elm | 655 ++ .../elm-lang/core/5.0.0/src/Bitwise.elm | 90 + .../packages/elm-lang/core/5.0.0/src/Char.elm | 103 + .../elm-lang/core/5.0.0/src/Color.elm | 456 ++ .../packages/elm-lang/core/5.0.0/src/Date.elm | 150 + .../elm-lang/core/5.0.0/src/Debug.elm | 62 + .../packages/elm-lang/core/5.0.0/src/Dict.elm | 661 +++ .../elm-lang/core/5.0.0/src/Json/Decode.elm | 520 ++ .../elm-lang/core/5.0.0/src/Json/Encode.elm | 102 + .../packages/elm-lang/core/5.0.0/src/List.elm | 603 ++ .../elm-lang/core/5.0.0/src/Maybe.elm | 157 + .../elm-lang/core/5.0.0/src/Native/Array.js | 967 +++ .../elm-lang/core/5.0.0/src/Native/Basics.js | 141 + .../elm-lang/core/5.0.0/src/Native/Bitwise.js | 13 + .../elm-lang/core/5.0.0/src/Native/Char.js | 14 + .../elm-lang/core/5.0.0/src/Native/Date.js | 33 + .../elm-lang/core/5.0.0/src/Native/Debug.js | 30 + .../elm-lang/core/5.0.0/src/Native/Json.js | 580 ++ .../elm-lang/core/5.0.0/src/Native/List.js | 137 + .../core/5.0.0/src/Native/Platform.js | 560 ++ .../elm-lang/core/5.0.0/src/Native/Regex.js | 119 + .../core/5.0.0/src/Native/Scheduler.js | 281 + .../elm-lang/core/5.0.0/src/Native/String.js | 335 ++ .../elm-lang/core/5.0.0/src/Native/Time.js | 27 + .../elm-lang/core/5.0.0/src/Native/Utils.js | 489 ++ .../elm-lang/core/5.0.0/src/Platform.elm | 145 + .../elm-lang/core/5.0.0/src/Platform/Cmd.elm | 67 + .../elm-lang/core/5.0.0/src/Platform/Sub.elm | 52 + .../elm-lang/core/5.0.0/src/Process.elm | 106 + .../elm-lang/core/5.0.0/src/Random.elm | 532 ++ .../elm-lang/core/5.0.0/src/Regex.elm | 148 + .../elm-lang/core/5.0.0/src/Result.elm | 210 + .../packages/elm-lang/core/5.0.0/src/Set.elm | 168 + .../elm-lang/core/5.0.0/src/String.elm | 464 ++ .../packages/elm-lang/core/5.0.0/src/Task.elm | 278 + .../packages/elm-lang/core/5.0.0/src/Time.elm | 243 + .../elm-lang/core/5.0.0/src/Tuple.elm | 61 + .../elm-lang/core/5.0.0/tests/Test.elm | 40 + .../elm-lang/core/5.0.0/tests/Test/Array.elm | 90 + .../elm-lang/core/5.0.0/tests/Test/Basics.elm | 158 + .../core/5.0.0/tests/Test/Bitwise.elm | 50 + .../elm-lang/core/5.0.0/tests/Test/Char.elm | 93 + .../core/5.0.0/tests/Test/CodeGen.elm | 59 + .../elm-lang/core/5.0.0/tests/Test/Dict.elm | 79 + .../core/5.0.0/tests/Test/Equality.elm | 28 + .../elm-lang/core/5.0.0/tests/Test/Json.elm | 83 + .../elm-lang/core/5.0.0/tests/Test/List.elm | 165 + .../elm-lang/core/5.0.0/tests/Test/Regex.elm | 46 + .../elm-lang/core/5.0.0/tests/Test/Result.elm | 60 + .../elm-lang/core/5.0.0/tests/Test/Set.elm | 29 + .../elm-lang/core/5.0.0/tests/Test/String.elm | 41 + .../core/5.0.0/tests/elm-package.json | 16 + .../elm-lang/core/5.0.0/tests/run-tests.sh | 18 + .../packages/elm-lang/dom/1.1.1/.gitignore | 1 + .../packages/elm-lang/dom/1.1.1/LICENSE | 30 + .../packages/elm-lang/dom/1.1.1/README.md | 7 + .../dom/1.1.1/assets/boundaries.acorn | Bin 0 -> 188416 bytes .../elm-lang/dom/1.1.1/assets/boundaries.png | Bin 0 -> 54799 bytes .../elm-lang/dom/1.1.1/elm-package.json | 19 + .../packages/elm-lang/dom/1.1.1/src/Dom.elm | 69 + .../elm-lang/dom/1.1.1/src/Dom/LowLevel.elm | 37 + .../elm-lang/dom/1.1.1/src/Dom/Scroll.elm | 119 + .../elm-lang/dom/1.1.1/src/Dom/Size.elm | 59 + .../elm-lang/dom/1.1.1/src/Native/Dom.js | 182 + .../packages/elm-lang/html/2.0.0/.gitignore | 1 + .../packages/elm-lang/html/2.0.0/LICENSE | 30 + .../packages/elm-lang/html/2.0.0/README.md | 5 + .../elm-lang/html/2.0.0/elm-package.json | 21 + .../html/2.0.0/properties-vs-attributes.md | 15 + .../packages/elm-lang/html/2.0.0/src/Html.elm | 923 +++ .../html/2.0.0/src/Html/Attributes.elm | 1009 ++++ .../elm-lang/html/2.0.0/src/Html/Events.elm | 269 + .../elm-lang/html/2.0.0/src/Html/Keyed.elm | 48 + .../elm-lang/html/2.0.0/src/Html/Lazy.elm | 48 + .../packages/elm-lang/http/1.0.0/.gitignore | 1 + .../packages/elm-lang/http/1.0.0/LICENSE | 30 + .../packages/elm-lang/http/1.0.0/README.md | 57 + .../elm-lang/http/1.0.0/elm-package.json | 18 + .../elm-lang/http/1.0.0/rate-limit.md | 40 + .../packages/elm-lang/http/1.0.0/src/Http.elm | 411 ++ .../elm-lang/http/1.0.0/src/Http/Internal.elm | 45 + .../elm-lang/http/1.0.0/src/Http/Progress.elm | 200 + .../elm-lang/http/1.0.0/src/Native/Http.js | 238 + .../packages/elm-lang/lazy/2.0.0/.gitignore | 3 + .../packages/elm-lang/lazy/2.0.0/LICENSE | 30 + .../packages/elm-lang/lazy/2.0.0/README.md | 69 + .../elm-lang/lazy/2.0.0/elm-package.json | 17 + .../packages/elm-lang/lazy/2.0.0/src/Lazy.elm | 164 + .../elm-lang/lazy/2.0.0/src/Native/Lazy.js | 20 + .../elm-lang/navigation/2.0.1/.gitignore | 1 + .../elm-lang/navigation/2.0.1/LICENSE | 30 + .../elm-lang/navigation/2.0.1/README.md | 21 + .../navigation/2.0.1/elm-package.json | 19 + .../navigation/2.0.1/examples/Example.elm | 78 + .../navigation/2.0.1/examples/README.md | 12 + .../2.0.1/examples/elm-package.json | 18 + .../navigation/2.0.1/src/Native/Navigation.js | 60 + .../navigation/2.0.1/src/Navigation.elm | 318 + .../elm-lang/virtual-dom/2.0.2/.gitignore | 3 + .../elm-lang/virtual-dom/2.0.2/.travis.yml | 8 + .../elm-lang/virtual-dom/2.0.2/LICENSE | 30 + .../elm-lang/virtual-dom/2.0.2/README.md | 5 + .../virtual-dom/2.0.2/elm-package.json | 17 + .../virtual-dom/2.0.2/src/Native/Debug.js | 280 + .../2.0.2/src/Native/VirtualDom.js | 1881 ++++++ .../virtual-dom/2.0.2/src/VirtualDom.elm | 331 ++ .../2.0.2/src/VirtualDom/Debug.elm | 567 ++ .../2.0.2/src/VirtualDom/Expando.elm | 659 +++ .../2.0.2/src/VirtualDom/Helpers.elm | 137 + .../2.0.2/src/VirtualDom/History.elm | 287 + .../2.0.2/src/VirtualDom/Metadata.elm | 326 + .../2.0.2/src/VirtualDom/Overlay.elm | 541 ++ .../2.0.2/src/VirtualDom/Report.elm | 99 + .../2.0.2/tests/Native/TestHelpers.js | 35 + .../2.0.2/tests/TestCases/Lazy.elm | 72 + .../virtual-dom/2.0.2/tests/TestHelpers.elm | 34 + .../virtual-dom/2.0.2/tests/TestMain.elm | 18 + .../virtual-dom/2.0.2/tests/elm-package.json | 18 + .../virtual-dom/2.0.2/tests/run-tests.sh | 24 + .../remotedata/4.0.1/.dir-locals.el | 4 + .../krisajenkins/remotedata/4.0.1/.gitignore | 3 + .../krisajenkins/remotedata/4.0.1/.travis.yml | 7 + .../remotedata/4.0.1/CHANGELOG.md | 17 + .../krisajenkins/remotedata/4.0.1/LICENSE | 21 + .../krisajenkins/remotedata/4.0.1/Makefile | 7 + .../krisajenkins/remotedata/4.0.1/README.md | 34 + .../remotedata/4.0.1/elm-package.json | 18 + .../remotedata/4.0.1/src/RemoteData.elm | 466 ++ .../remotedata/4.0.1/src/RemoteData/Infix.elm | 36 + .../remotedata/4.0.1/test/Main.elm | 16 + .../remotedata/4.0.1/test/Makefile | 7 + .../remotedata/4.0.1/test/RemoteDataTest.elm | 38 + .../remotedata/4.0.1/test/elm-package.json | 19 + .../elm-http-builder/4.0.0/.gitignore | 1 + .../elm-http-builder/4.0.0/.travis.yml | 7 + .../elm-http-builder/4.0.0/CHANGELOG.md | 69 + .../elm-http-builder/4.0.0/CODE_OF_CONDUCT.md | 74 + .../lukewestby/elm-http-builder/4.0.0/LICENSE | 21 + .../elm-http-builder/4.0.0/README.md | 60 + .../elm-http-builder/4.0.0/elm-package.json | 17 + .../elm-http-builder/4.0.0/scripts/test.sh | 1 + .../4.0.0/scripts/unit_tests.sh | 3 + .../4.0.0/src/HttpBuilder.elm | 335 ++ .../4.0.0/tests/unit/.gitignore | 2 + .../4.0.0/tests/unit/Main.elm | 14 + .../4.0.0/tests/unit/Native/Polyfills.js | 13 + .../4.0.0/tests/unit/Tests.elm | 110 + .../4.0.0/tests/unit/elm-package.json | 19 + .../mgold/elm-random-pcg/4.0.2/.gitignore | 8 + .../mgold/elm-random-pcg/4.0.2/LICENSE | 30 + .../mgold/elm-random-pcg/4.0.2/README.md | 47 + .../elm-random-pcg/4.0.2/elm-package.json | 17 + .../elm-random-pcg/4.0.2/src/Random/Pcg.elm | 853 +++ .../4.0.2/src/Random/Pcg/Interop.elm | 29 + .../mgold/elm-random-pcg/4.0.2/test/README.md | 4 + .../4.0.2/test/benchmark/Bench/Native.elm | 26 + .../4.0.2/test/benchmark/Bencher.elm | 45 + .../4.0.2/test/benchmark/Native/Benchmark.js | 44 + .../4.0.2/test/benchmark/README.md | 14 + .../4.0.2/test/benchmark/elm-package.json | 17 + .../4.0.2/test/benchmark/prep-bench.sh | 5 + .../4.0.2/test/benchmark/run-benchmarks.html | 7 + .../elm-random-pcg/4.0.2/test/bounds.elm | 40 + .../4.0.2/test/dieharder/Dieharder.elm | 58 + .../4.0.2/test/dieharder/README.md | 27 + .../4.0.2/test/dieharder/compile.sh | 24 + .../4.0.2/test/dieharder/dieharder-core.log | 125 + .../4.0.2/test/dieharder/dieharder-pcg.log | 125 + .../4.0.2/test/dieharder/elm-io.sh | 19 + .../4.0.2/test/dieharder/elm-package.json | 15 + .../4.0.2/test/elm-package.json | 15 + .../elm-random-pcg/4.0.2/test/fastForward.elm | 61 + .../elm-random-pcg/4.0.2/test/filterTest.elm | 35 + .../4.0.2/test/independentSeedTest.elm | 40 + .../elm-random-pcg/4.0.2/test/listTest.elm | 60 + .../elm-random-pcg/4.0.2/test/port/README.md | 7 + .../elm-random-pcg/4.0.2/test/port/Test.elm | 13 + .../4.0.2/test/port/elm-package.json | 14 + .../elm-random-pcg/4.0.2/test/rewind.elm | 34 + .../node-test-runner/3.0.0/.gitignore | 28 + .../node-test-runner/3.0.0/.travis.yml | 43 + .../rtfeldman/node-test-runner/3.0.0/LICENSE | 27 + .../node-test-runner/3.0.0/README.md | 47 + .../node-test-runner/3.0.0/appveyor.yml | 25 + .../node-test-runner/3.0.0/bin/elm-test | 322 + .../node-test-runner/3.0.0/elm-package.json | 19 + .../3.0.0/examples/tests/FailingTests.elm | 152 + .../3.0.0/examples/tests/PassingTests.elm | 23 + .../3.0.0/examples/tests/elm-package.json | 19 + .../node-test-runner/3.0.0/package.json | 45 + .../node-test-runner/3.0.0/src/Chalk.elm | 21 + .../3.0.0/src/Test/Reporter/Chalk.elm | 123 + .../3.0.0/src/Test/Reporter/Json.elm | 78 + .../3.0.0/src/Test/Reporter/Reporter.elm | 36 + .../3.0.0/src/Test/Reporter/Result.elm | 15 + .../3.0.0/src/Test/Runner/Node.elm | 242 + .../3.0.0/src/Test/Runner/Node/App.elm | 253 + .../node-test-runner/3.0.0/templates/Main.elm | 13 + .../3.0.0/templates/Tests.elm | 37 + .../3.0.0/templates/elm-package.json | 17 + .../3.0.0/templates/gitignore | 1 + .../node-test-runner/3.0.0/tests/ci.js | 79 + .../packages/sporto/erl/11.0.0/.editorconfig | 17 + .../packages/sporto/erl/11.0.0/.gitignore | 4 + .../packages/sporto/erl/11.0.0/changelog.md | 15 + .../sporto/erl/11.0.0/elm-package.json | 17 + .../packages/sporto/erl/11.0.0/package.json | 22 + .../packages/sporto/erl/11.0.0/readme.md | 79 + .../packages/sporto/erl/11.0.0/src/Erl.elm | 645 ++ .../sporto/erl/11.0.0/src/ErlTests.elm | 638 ++ .../sporto/erl/11.0.0/support/prepare_test.sh | 7 + .../sporto/erl/11.0.0/tests/.gitignore | 1 + .../packages/sporto/erl/11.0.0/tests/Main.elm | 13 + .../sporto/erl/11.0.0/tests/elm-package.json | 19 + .../packages/sporto/erl/11.0.0/yarn.lock | 1057 ++++ .../truqu/elm-base64/1.0.5/.gitignore | 7 + .../packages/truqu/elm-base64/1.0.5/LICENSE | 22 + .../packages/truqu/elm-base64/1.0.5/README.md | 26 + .../truqu/elm-base64/1.0.5/elm-package.json | 16 + .../truqu/elm-base64/1.0.5/src/Base64.elm | 165 + .../truqu/elm-base64/1.0.5/src/BitList.elm | 70 + .../elm-base64/1.0.5/test/Test/Base64.elm | 41 + .../elm-base64/1.0.5/test/Test/BitList.elm | 64 + .../truqu/elm-base64/1.0.5/test/Tests.elm | 18 + .../elm-base64/1.0.5/test/elm-package.json | 16 + app/templates/client/gulpfile.js | 227 + app/templates/client/package.json | 78 +- app/templates/client/src/CNAME | 0 .../client/src/assets/scss/style.scss | 14 + app/templates/client/src/elm/App/Model.elm | 44 + app/templates/client/src/elm/App/Test.elm | 56 + app/templates/client/src/elm/App/Update.elm | 108 + app/templates/client/src/elm/App/View.elm | 154 + app/templates/client/src/elm/Config.elm | 26 + app/templates/client/src/elm/Config/Model.elm | 11 + app/templates/client/src/elm/Config/View.elm | 16 + app/templates/client/src/elm/Main.elm | 25 + .../client/src/elm/Pages/Login/Decoder.elm | 36 + .../client/src/elm/Pages/Login/Model.elm | 38 + .../client/src/elm/Pages/Login/Update.elm | 91 + .../client/src/elm/Pages/Login/View.elm | 73 + .../client/src/elm/Pages/MyAccount/View.elm | 28 + .../src/elm/Pages/PageNotFound/View.elm | 14 + app/templates/client/src/elm/TestRunner.elm | 21 + app/templates/client/src/elm/User/Decoder.elm | 14 + app/templates/client/src/elm/User/Model.elm | 8 + app/templates/client/src/elm/Utils/Json.elm | 32 + .../client/src/elm/Utils/WebData.elm | 84 + app/templates/client/src/index.html | 21 + app/templates/client/src/js/README.md | 1 + app/templates/client/src/js/app.js | 8 + app/templates/client/yarn.lock | 5242 +++++++++++++++++ app/templates/{ => server}/README.md | 0 app/templates/{ => server}/config.sh | 0 app/templates/{ => server}/default.config.sh | 0 app/templates/{ => server}/install | 0 app/templates/{ => server}/pantheon.yml | 0 .../prepare_db_for_dev.example.sh | 0 app/templates/{ => server}/scripts/build | 0 .../{ => server}/scripts/helper-colors.sh | 0 .../{ => server}/scripts/helper-functions.sh | 0 .../scripts/pantheon/db_sanitization.php | 0 .../scripts/pantheon/revert_all_features.php | 0 app/templates/{ => server}/scripts/reset | 0 app/templates/{ => server}/scripts/setup-dev | 0 .../scripts/travis/install_behat.sh | 0 .../scripts/travis/install_client.sh | 0 .../scripts/travis/install_coder.sh | 0 .../scripts/travis/install_dependencies.sh | 0 .../scripts/travis/install_drush.sh | 0 .../scripts/travis/install_profile.sh | 0 .../{ => server}/scripts/travis/run_behat.sh | 0 .../scripts/travis/run_client_server.sh | 0 .../{ => server}/scripts/travis/run_coder.sh | 0 .../scripts/travis/run_web_server.sh | 0 .../skeleton/drupal-org-core.make | 0 .../{ => server}/skeleton/drupal-org.make | 0 .../skeleton_company.features.field_base.inc | 0 ...eleton_company.features.field_instance.inc | 0 .../skeleton_company.features.inc | 0 .../skeleton_company/skeleton_company.info | 0 .../skeleton_company/skeleton_company.module | 0 .../skeleton_company.strongarm.inc | 0 .../skeleton_event.features.field_base.inc | 0 ...skeleton_event.features.field_instance.inc | 0 .../skeleton_event.features.inc | 0 .../custom/skeleton_event/skeleton_event.info | 0 .../skeleton_event/skeleton_event.module | 0 .../skeleton_event.strongarm.inc | 0 .../custom/skeleton_file/skeleton_file.info | 0 .../custom/skeleton_file/skeleton_file.module | 0 .../modules/custom/skeleton_migrate/README.md | 0 .../skeleton_migrate/csv/node/company.csv | 0 .../skeleton_migrate/csv/node/event.csv | 0 .../custom/skeleton_migrate/csv/user/user.csv | 0 .../handlers/SkeletonMigrateBase.php | 0 .../node/SkeletonCompaniesMigrate.php | 0 .../handlers/node/SkeletonEventsMigrate.php | 0 .../handlers/user/SkeletonUsersMigrate.php | 0 .../skeleton_migrate/images/company1.jpg | Bin .../skeleton_migrate/images/company2.jpg | Bin .../skeleton_migrate/images/company3.jpg | Bin .../skeleton_migrate/images/company4.jpg | Bin .../skeleton_migrate/images/company5.jpg | Bin .../skeleton_migrate/skeleton_migrate.info | 0 .../skeleton_migrate/skeleton_migrate.module | 0 .../restful/node/SkeletonEntityBaseNode.php | 0 .../1.0/SkeletonCompaniesResource.class.php | 0 .../node/companies/1.0/companies__1_0.inc | 0 .../1.0/SkeletonEventsResource.class.php | 0 .../restful/node/events/1.0/events__1_0.inc | 0 .../user/me/1.0/SkeletonMeResource.class.php | 0 .../plugins/restful/user/me/1.0/me__1_0.inc | 0 .../skeleton_restful/skeleton_restful.info | 0 .../skeleton_restful/skeleton_restful.module | 0 .../{ => server}/skeleton/skeleton.info | 0 .../{ => server}/skeleton/skeleton.install | 0 .../{ => server}/skeleton/skeleton.profile | 0 imgur | 62 - 803 files changed, 66690 insertions(+), 2305 deletions(-) delete mode 100644 app/templates/client/Gruntfile.js create mode 100644 app/templates/client/README.md delete mode 100644 app/templates/client/_bowerrc delete mode 100644 app/templates/client/_editorconfig delete mode 100644 app/templates/client/_gitattributes delete mode 100644 app/templates/client/_jshintrc delete mode 100644 app/templates/client/_travis.yml delete mode 100644 app/templates/client/app/404.html delete mode 100644 app/templates/client/app/CNAME delete mode 100644 app/templates/client/app/favicon.ico delete mode 100644 app/templates/client/app/images/marker-blue.png delete mode 100644 app/templates/client/app/images/marker-red.png delete mode 100644 app/templates/client/app/images/shadow.png delete mode 100644 app/templates/client/app/images/yeoman.png delete mode 100644 app/templates/client/app/index.html delete mode 100644 app/templates/client/app/robots.txt delete mode 100644 app/templates/client/app/scripts/app.js delete mode 100644 app/templates/client/app/scripts/controllers/account.js delete mode 100644 app/templates/client/app/scripts/controllers/companies.js delete mode 100644 app/templates/client/app/scripts/controllers/dashboard.js delete mode 100644 app/templates/client/app/scripts/controllers/events.js delete mode 100644 app/templates/client/app/scripts/controllers/homepage.js delete mode 100644 app/templates/client/app/scripts/controllers/login.js delete mode 100644 app/templates/client/app/scripts/directives/loadingbartext.js delete mode 100644 app/templates/client/app/scripts/directives/spinner.js delete mode 100644 app/templates/client/app/scripts/services/account.js delete mode 100644 app/templates/client/app/scripts/services/auth.js delete mode 100644 app/templates/client/app/scripts/services/companies.js delete mode 100644 app/templates/client/app/scripts/services/events.js delete mode 100644 app/templates/client/app/scripts/services/map.js delete mode 100644 app/templates/client/app/scripts/services/marker.js delete mode 100644 app/templates/client/app/scripts/services/utils.js delete mode 100644 app/templates/client/app/styles/_loadingbar.scss delete mode 100644 app/templates/client/app/styles/_spinner.scss delete mode 100644 app/templates/client/app/styles/main.scss delete mode 100644 app/templates/client/app/views/403.html delete mode 100644 app/templates/client/app/views/dashboard/account/account.html delete mode 100644 app/templates/client/app/views/dashboard/companies/companies.company.html delete mode 100644 app/templates/client/app/views/dashboard/companies/companies.html delete mode 100644 app/templates/client/app/views/dashboard/events/events.html delete mode 100644 app/templates/client/app/views/dashboard/main.html delete mode 100644 app/templates/client/app/views/login.html delete mode 100644 app/templates/client/bower.json delete mode 100644 app/templates/client/config.example.json delete mode 100644 app/templates/client/config.json delete mode 100644 app/templates/client/config.travis.json create mode 100644 app/templates/client/elm-package.json create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/NoRedInk/elm-decode-pipeline/3.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Expect.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Expect.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Fuzz-Internal.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Fuzz-Internal.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/RoseTree.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/RoseTree.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Test-Expectation.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Test-Expectation.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Util.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Util.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/lazy-list/1.0.0/Lazy-List.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/lazy-list/1.0.0/Lazy-List.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/lazy-list/1.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/shrink/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Array.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Array.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Basics.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Basics.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Bitwise.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Bitwise.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Char.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Char.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Color.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Color.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Date.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Date.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Debug.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Debug.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Dict.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Dict.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Decode.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Decode.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Encode.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Encode.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/List.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/List.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Maybe.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Maybe.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Cmd.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Cmd.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Sub.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Sub.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Process.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Process.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Random.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Random.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Regex.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Regex.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Result.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Result.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Set.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Set.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/String.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/String.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Task.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Task.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Time.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Time.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Tuple.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Tuple.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-LowLevel.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-LowLevel.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Scroll.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Scroll.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/html/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http-Internal.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http-Internal.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http-Progress.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http-Progress.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/Lazy.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/Lazy.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/navigation/2.0.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Report.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Report.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/Erl.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/Erl.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/Base64.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/Base64.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/BitList.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/BitList.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Model.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Model.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Test.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Test.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Update.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Update.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-View.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-View.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-Model.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-Model.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-View.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-View.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Main.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Main.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Decoder.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Decoder.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Model.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Model.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Update.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Update.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-View.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-View.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-MyAccount-View.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-MyAccount-View.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-PageNotFound-View.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-PageNotFound-View.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/User-Decoder.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/User-Decoder.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/User-Model.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/User-Model.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Utils-Json.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Utils-Json.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Utils-WebData.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Utils-WebData.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/NoRedInk/elm-decode-pipeline/3.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Expect.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Expect.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz-Internal.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz-Internal.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/RoseTree.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/RoseTree.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Expectation.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Expectation.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Internal.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Internal.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Runner.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Runner.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Util.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Util.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/Lazy-List.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/Lazy-List.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/Shrink.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/Shrink.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-LowLevel.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-LowLevel.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Internal.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Internal.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Progress.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Progress.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/lazy/2.0.0/Lazy.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/lazy/2.0.0/Lazy.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/lazy/2.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/Navigation.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/Navigation.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/Trampoline.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/Trampoline.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Debug.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Debug.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Expando.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Expando.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-History.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-History.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Metadata.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Metadata.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Overlay.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Overlay.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Report.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Report.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Array.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Array.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Basics.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Basics.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Date.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Date.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Delta.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Delta.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Dict.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Dict.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Float.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Float.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Function.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Function.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Attributes.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Attributes.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap-Glyphicons.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap-Glyphicons.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Events.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Events.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Table.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Table.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Int.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Int.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Decode.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Decode.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Encode.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Encode.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-LatLng.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-LatLng.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-List.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-List.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Maybe.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Maybe.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Result.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Result.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Set.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Set.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-String.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-String.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Task.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Task.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Tuple.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Tuple.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Validation.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Validation.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Chalk.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Chalk.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Chalk.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Chalk.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Json.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Json.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Reporter.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Reporter.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Result.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Result.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node-App.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node-App.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/Erl.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/Erl.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/graph.dat create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/Base64.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/Base64.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/BitList.elmi create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/BitList.elmo create mode 100644 app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/graph.dat create mode 100644 app/templates/client/elm-stuff/exact-dependencies.json create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm create mode 100644 app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.travis.yml create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Expect.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz/Internal.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/RoseTree.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Expectation.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Internal.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Runner.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Util.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Main.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/Log.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/String.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Tests.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/run-tests.js create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/CHANGELOG.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/andMap.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/infixAndMap.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Decode/Extra.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Encode/Extra.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/src/Lazy/List.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/src/Shrink.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.eslintrc create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.travis.yml create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.acorn create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.png create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/LowLevel.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/Scroll.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/Size.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/src/Native/Dom.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/rate-limit.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/src/Http.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/src/Http/Internal.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/src/Http/Progress.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/http/1.0.0/src/Native/Http.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/lazy/2.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/lazy/2.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/lazy/2.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/lazy/2.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/lazy/2.0.0/src/Lazy.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/lazy/2.0.0/src/Native/Lazy.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/examples/Example.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/examples/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/examples/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/src/Native/Navigation.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/navigation/2.0.1/src/Navigation.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/.travis.yml create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/README.md create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/Native/Debug.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/Native/VirtualDom.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom/Debug.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom/Expando.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom/Helpers.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom/History.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom/Metadata.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom/Overlay.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/src/VirtualDom/Report.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/tests/Native/TestHelpers.js create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/tests/TestCases/Lazy.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/tests/TestHelpers.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/tests/TestMain.elm create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/tests/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/elm-lang/virtual-dom/2.0.2/tests/run-tests.sh create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/.dir-locals.el create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/.travis.yml create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/CHANGELOG.md create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/Makefile create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/README.md create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/src/RemoteData.elm create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/src/RemoteData/Infix.elm create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/test/Main.elm create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/test/Makefile create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/test/RemoteDataTest.elm create mode 100644 app/templates/client/elm-stuff/packages/krisajenkins/remotedata/4.0.1/test/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/.travis.yml create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/CHANGELOG.md create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/CODE_OF_CONDUCT.md create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/scripts/test.sh create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/scripts/unit_tests.sh create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/src/HttpBuilder.elm create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/tests/unit/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/tests/unit/Main.elm create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/tests/unit/Native/Polyfills.js create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/tests/unit/Tests.elm create mode 100644 app/templates/client/elm-stuff/packages/lukewestby/elm-http-builder/4.0.0/tests/unit/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/README.md create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/src/Random/Pcg.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/src/Random/Pcg/Interop.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/README.md create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/benchmark/Bench/Native.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/benchmark/Bencher.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/benchmark/Native/Benchmark.js create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/benchmark/README.md create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/benchmark/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/benchmark/prep-bench.sh create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/benchmark/run-benchmarks.html create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/bounds.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/dieharder/Dieharder.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/dieharder/README.md create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/dieharder/compile.sh create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/dieharder/dieharder-core.log create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/dieharder/dieharder-pcg.log create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/dieharder/elm-io.sh create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/dieharder/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/fastForward.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/filterTest.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/independentSeedTest.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/listTest.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/port/README.md create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/port/Test.elm create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/port/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/mgold/elm-random-pcg/4.0.2/test/rewind.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/.travis.yml create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/README.md create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/appveyor.yml create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/bin/elm-test create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/examples/tests/FailingTests.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/examples/tests/PassingTests.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/examples/tests/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/package.json create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/src/Chalk.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/src/Test/Reporter/Chalk.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/src/Test/Reporter/Json.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/src/Test/Reporter/Reporter.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/src/Test/Reporter/Result.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/src/Test/Runner/Node.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/src/Test/Runner/Node/App.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/templates/Main.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/templates/Tests.elm create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/templates/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/templates/gitignore create mode 100644 app/templates/client/elm-stuff/packages/rtfeldman/node-test-runner/3.0.0/tests/ci.js create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/.editorconfig create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/changelog.md create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/package.json create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/readme.md create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/src/Erl.elm create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/src/ErlTests.elm create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/support/prepare_test.sh create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/tests/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/tests/Main.elm create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/tests/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/sporto/erl/11.0.0/yarn.lock create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/.gitignore create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/LICENSE create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/README.md create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/elm-package.json create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/src/Base64.elm create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/src/BitList.elm create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/test/Test/Base64.elm create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/test/Test/BitList.elm create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/test/Tests.elm create mode 100644 app/templates/client/elm-stuff/packages/truqu/elm-base64/1.0.5/test/elm-package.json create mode 100644 app/templates/client/gulpfile.js create mode 100644 app/templates/client/src/CNAME create mode 100644 app/templates/client/src/assets/scss/style.scss create mode 100644 app/templates/client/src/elm/App/Model.elm create mode 100644 app/templates/client/src/elm/App/Test.elm create mode 100644 app/templates/client/src/elm/App/Update.elm create mode 100644 app/templates/client/src/elm/App/View.elm create mode 100644 app/templates/client/src/elm/Config.elm create mode 100644 app/templates/client/src/elm/Config/Model.elm create mode 100644 app/templates/client/src/elm/Config/View.elm create mode 100644 app/templates/client/src/elm/Main.elm create mode 100644 app/templates/client/src/elm/Pages/Login/Decoder.elm create mode 100644 app/templates/client/src/elm/Pages/Login/Model.elm create mode 100644 app/templates/client/src/elm/Pages/Login/Update.elm create mode 100644 app/templates/client/src/elm/Pages/Login/View.elm create mode 100644 app/templates/client/src/elm/Pages/MyAccount/View.elm create mode 100644 app/templates/client/src/elm/Pages/PageNotFound/View.elm create mode 100644 app/templates/client/src/elm/TestRunner.elm create mode 100644 app/templates/client/src/elm/User/Decoder.elm create mode 100644 app/templates/client/src/elm/User/Model.elm create mode 100644 app/templates/client/src/elm/Utils/Json.elm create mode 100644 app/templates/client/src/elm/Utils/WebData.elm create mode 100644 app/templates/client/src/index.html create mode 100644 app/templates/client/src/js/README.md create mode 100644 app/templates/client/src/js/app.js create mode 100644 app/templates/client/yarn.lock rename app/templates/{ => server}/README.md (100%) rename app/templates/{ => server}/config.sh (100%) rename app/templates/{ => server}/default.config.sh (100%) rename app/templates/{ => server}/install (100%) rename app/templates/{ => server}/pantheon.yml (100%) rename app/templates/{ => server}/prepare_db_for_dev.example.sh (100%) rename app/templates/{ => server}/scripts/build (100%) rename app/templates/{ => server}/scripts/helper-colors.sh (100%) rename app/templates/{ => server}/scripts/helper-functions.sh (100%) rename app/templates/{ => server}/scripts/pantheon/db_sanitization.php (100%) rename app/templates/{ => server}/scripts/pantheon/revert_all_features.php (100%) rename app/templates/{ => server}/scripts/reset (100%) rename app/templates/{ => server}/scripts/setup-dev (100%) rename app/templates/{ => server}/scripts/travis/install_behat.sh (100%) rename app/templates/{ => server}/scripts/travis/install_client.sh (100%) rename app/templates/{ => server}/scripts/travis/install_coder.sh (100%) rename app/templates/{ => server}/scripts/travis/install_dependencies.sh (100%) rename app/templates/{ => server}/scripts/travis/install_drush.sh (100%) rename app/templates/{ => server}/scripts/travis/install_profile.sh (100%) rename app/templates/{ => server}/scripts/travis/run_behat.sh (100%) rename app/templates/{ => server}/scripts/travis/run_client_server.sh (100%) rename app/templates/{ => server}/scripts/travis/run_coder.sh (100%) rename app/templates/{ => server}/scripts/travis/run_web_server.sh (100%) rename app/templates/{ => server}/skeleton/drupal-org-core.make (100%) rename app/templates/{ => server}/skeleton/drupal-org.make (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_company/skeleton_company.features.field_base.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_company/skeleton_company.features.field_instance.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_company/skeleton_company.features.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_company/skeleton_company.info (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_company/skeleton_company.module (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_company/skeleton_company.strongarm.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_event/skeleton_event.features.field_base.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_event/skeleton_event.features.field_instance.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_event/skeleton_event.features.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_event/skeleton_event.info (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_event/skeleton_event.module (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_event/skeleton_event.strongarm.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_file/skeleton_file.info (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_file/skeleton_file.module (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/README.md (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/csv/node/company.csv (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/csv/node/event.csv (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/csv/user/user.csv (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/handlers/SkeletonMigrateBase.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/handlers/node/SkeletonCompaniesMigrate.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/handlers/node/SkeletonEventsMigrate.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/handlers/user/SkeletonUsersMigrate.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/images/company1.jpg (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/images/company2.jpg (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/images/company3.jpg (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/images/company4.jpg (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/images/company5.jpg (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/skeleton_migrate.info (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_migrate/skeleton_migrate.module (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/plugins/restful/node/SkeletonEntityBaseNode.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/plugins/restful/node/companies/1.0/SkeletonCompaniesResource.class.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/plugins/restful/node/companies/1.0/companies__1_0.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/plugins/restful/node/events/1.0/SkeletonEventsResource.class.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/plugins/restful/node/events/1.0/events__1_0.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/plugins/restful/user/me/1.0/SkeletonMeResource.class.php (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/plugins/restful/user/me/1.0/me__1_0.inc (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/skeleton_restful.info (100%) rename app/templates/{ => server}/skeleton/modules/custom/skeleton_restful/skeleton_restful.module (100%) rename app/templates/{ => server}/skeleton/skeleton.info (100%) rename app/templates/{ => server}/skeleton/skeleton.install (100%) rename app/templates/{ => server}/skeleton/skeleton.profile (100%) delete mode 100755 imgur diff --git a/app/templates/client/Gruntfile.js b/app/templates/client/Gruntfile.js deleted file mode 100644 index 1774351..0000000 --- a/app/templates/client/Gruntfile.js +++ /dev/null @@ -1,505 +0,0 @@ -// Generated on 2014-11-30 using generator-angular 0.10.0 -'use strict'; - -// # Globbing -// for performance reasons we're only matching one level down: -// 'test/spec/{,*/}*.js' -// use this if you want to recursively match all subfolders: -// 'test/spec/**/*.js' - -module.exports = function (grunt) { - - // Load grunt tasks automatically - require('load-grunt-tasks')(grunt); - - // Time how long tasks take. Can help when optimizing build times - require('time-grunt')(grunt); - - // Configurable paths for the application - var appConfig = { - app: require('./bower.json').appPath || 'app', - dist: 'dist' - }; - - // Define the configuration for all the tasks - grunt.initConfig({ - - // Project settings - yeoman: appConfig, - - // Watches files for changes and runs tasks based on the changed files - watch: { - bower: { - files: ['bower.json'], - tasks: ['wiredep'] - }, - js: { - files: ['<%= yeoman.app %>/scripts/{,*/}*.js'], - tasks: ['newer:jshint:all'], - options: { - livereload: '<%= connect.options.livereload %>' - } - }, - jsTest: { - files: ['test/spec/{,*/}*.js'], - tasks: ['newer:jshint:test', 'karma'] - }, - compass: { - files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'], - tasks: ['compass:server', 'autoprefixer'] - }, - gruntfile: { - files: ['Gruntfile.js'] - }, - livereload: { - options: { - livereload: '<%= connect.options.livereload %>' - }, - files: [ - '<%= yeoman.app %>/**/*.html', - '.tmp/styles/{,*/}*.css', - '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' - ] - } - }, - - // The actual grunt server settings - connect: { - options: { - port: 9000, - // Change this to '0.0.0.0' to access the server from outside. - hostname: 'localhost', - livereload: 35729 - }, - livereload: { - options: { - open: true, - middleware: function (connect) { - return [ - connect.static('.tmp'), - connect().use( - '/bower_components', - connect.static('./bower_components') - ), - connect.static(appConfig.app) - ]; - } - } - }, - test: { - options: { - port: 9000, - middleware: function (connect) { - return [ - connect.static('.tmp'), - connect.static('test'), - connect().use( - '/bower_components', - connect.static('./bower_components') - ), - connect.static(appConfig.app) - ]; - } - } - }, - dist: { - options: { - open: true, - base: '<%= yeoman.dist %>' - } - } - }, - - // Make sure code styles are up to par and there are no obvious mistakes - jshint: { - options: { - jshintrc: '.jshintrc', - reporter: require('jshint-stylish') - }, - all: { - src: [ - 'Gruntfile.js', - '<%= yeoman.app %>/scripts/{,*/}*.js' - ] - }, - test: { - options: { - jshintrc: 'test/.jshintrc' - }, - src: ['test/spec/{,*/}*.js'] - } - }, - - // Empties folders to start fresh - clean: { - dist: { - files: [{ - dot: true, - src: [ - '.tmp', - '<%= yeoman.dist %>/{,*/}*', - '!<%= yeoman.dist %>/.git{,*/}*' - ] - }] - }, - server: '.tmp' - }, - - // Add vendor prefixed styles - autoprefixer: { - options: { - browsers: ['last 1 version'] - }, - dist: { - files: [{ - expand: true, - cwd: '.tmp/styles/', - src: '{,*/}*.css', - dest: '.tmp/styles/' - }] - } - }, - - // Automatically inject Bower components into the app - wiredep: { - app: { - src: ['<%= yeoman.app %>/index.html'], - ignorePath: /\.\.\// - }, - sass: { - src: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'], - ignorePath: /(\.\.\/){1,2}bower_components\// - } - }, - - // Compiles Sass to CSS and generates necessary files if requested - compass: { - options: { - sassDir: '<%= yeoman.app %>/styles', - cssDir: '.tmp/styles', - generatedImagesDir: '.tmp/images/generated', - imagesDir: '<%= yeoman.app %>/images', - javascriptsDir: '<%= yeoman.app %>/scripts', - fontsDir: '<%= yeoman.app %>/styles/fonts', - importPath: './bower_components', - httpImagesPath: '/images', - httpGeneratedImagesPath: '/images/generated', - httpFontsPath: '/styles/fonts', - relativeAssets: false, - assetCacheBuster: false, - raw: 'Sass::Script::Number.precision = 10\n' - }, - dist: { - options: { - generatedImagesDir: '<%= yeoman.dist %>/images/generated' - } - }, - server: { - options: { - debugInfo: true - } - } - }, - - // Renames files for browser caching purposes - filerev: { - dist: { - src: [ - '<%= yeoman.dist %>/scripts/{,*/}*.js', - '<%= yeoman.dist %>/styles/{,*/}*.css', - '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}', - '<%= yeoman.dist %>/styles/fonts/*' - ] - } - }, - - // Reads HTML for usemin blocks to enable smart builds that automatically - // concat, minify and revision files. Creates configurations in memory so - // additional tasks can operate on them - useminPrepare: { - html: '<%= yeoman.app %>/index.html', - options: { - dest: '<%= yeoman.dist %>', - flow: { - html: { - steps: { - js: ['concat', 'uglifyjs'], - css: ['cssmin'] - }, - post: {} - } - } - } - }, - - // Performs rewrites based on filerev and the useminPrepare configuration - usemin: { - html: ['<%= yeoman.dist %>/{,*/}*.html'], - css: ['<%= yeoman.dist %>/styles/{,*/}*.css'], - options: { - assetsDirs: ['<%= yeoman.dist %>','<%= yeoman.dist %>/images'] - } - }, - - // The following *-min tasks will produce minified files in the dist folder - // By default, your `index.html`'s will take care of - // minification. These next options are pre-configured if you do not wish - // to use the Usemin blocks. - // cssmin: { - // dist: { - // files: { - // '<%= yeoman.dist %>/styles/main.css': [ - // '.tmp/styles/{,*/}*.css' - // ] - // } - // } - // }, - // uglify: { - // dist: { - // files: { - // '<%= yeoman.dist %>/scripts/scripts.js': [ - // '<%= yeoman.dist %>/scripts/scripts.js' - // ] - // } - // } - // }, - // concat: { - // dist: {} - // }, - - imagemin: { - dist: { - files: [{ - expand: true, - cwd: '<%= yeoman.app %>/images', - src: '{,*/}*.{png,jpg,jpeg,gif}', - dest: '<%= yeoman.dist %>/images' - }] - } - }, - - svgmin: { - dist: { - files: [{ - expand: true, - cwd: '<%= yeoman.app %>/images', - src: '{,*/}*.svg', - dest: '<%= yeoman.dist %>/images' - }] - } - }, - - htmlmin: { - dist: { - options: { - collapseWhitespace: true, - conservativeCollapse: true, - collapseBooleanAttributes: true, - removeCommentsFromCDATA: true, - removeOptionalTags: true - }, - files: [{ - expand: true, - cwd: '<%= yeoman.dist %>', - src: ['*.html', 'views/{,*/}*.html'], - dest: '<%= yeoman.dist %>' - }] - } - }, - - // ng-annotate tries to make the code safe for minification automatically - // by using the Angular long form for dependency injection. - ngAnnotate: { - dist: { - files: [{ - expand: true, - cwd: '.tmp/concat/scripts', - src: ['*.js', '!oldieshim.js'], - dest: '.tmp/concat/scripts' - }] - } - }, - - // Replace Google CDN references - cdnify: { - dist: { - html: ['<%= yeoman.dist %>/*.html'] - } - }, - - // Copies remaining files to places other tasks can use - copy: { - dist: { - files: [{ - expand: true, - dot: true, - cwd: '<%= yeoman.app %>', - dest: '<%= yeoman.dist %>', - src: [ - '*.{ico,png,txt}', - '.htaccess', - '*.html', - 'views/**/*.html', - 'images/{,*/}*.{webp}', - 'fonts/{,*/}*.*' - ] - }, { - expand: true, - cwd: '.tmp/images', - dest: '<%= yeoman.dist %>/images', - src: ['generated/*'] - }, { - // font-awesome - expand: true, - dot: true, - cwd: 'bower_components/font-awesome', - src: ['fonts/*.*'], - dest: '<%= yeoman.dist %>' - }, { - // bootstrap fonts - expand: true, - dot: true, - cwd: 'bower_components/bootstrap-sass-official/assets/fonts/bootstrap', - src: ['*.*'], - dest: '<%= yeoman.dist %>/fonts' - }, { - expand: true, - cwd: '.', - src: 'bower_components/bootstrap-sass-official/assets/fonts/bootstrap/*', - dest: '<%= yeoman.dist %>' - }, { - expand: true, - cwd: '<%= yeoman.app %>', - src: 'CNAME', - dest: '<%= yeoman.dist %>' - }] - }, - styles: { - expand: true, - cwd: '<%= yeoman.app %>/styles', - dest: '.tmp/styles/', - src: '{,*/}*.css' - } - }, - - // Run some tasks in parallel to speed up the build process - concurrent: { - server: [ - 'compass:server' - ], - test: [ - 'compass' - ], - dist: [ - 'compass:dist', - 'imagemin', - 'svgmin' - ] - }, - - // Test settings - karma: { - unit: { - configFile: 'test/karma.conf.js', - singleRun: true - } - }, - - // Environment configuration. - ngconstant: { - options: { - name: 'config' - }, - server: { - constants: { - Config: grunt.file.readJSON('config.json').development - }, - values: { - debug: true - }, - options: { - dest: '<%= yeoman.app %>/scripts/config.js' - } - }, - build: { - constants: { - Config: grunt.file.readJSON('config.json').production - }, - options: { - dest: '<%= yeoman.dist %>/scripts/config.js' - } - } - }, - - // Publish to gh-pages. - buildcontrol: { - dist: { - options: { - remote: 'https://github.com/repoName.git', - branch: 'gh-pages', - commit: true, - push: true - } - } - } - }); - - - grunt.registerTask('serve', 'Compile then start a connect web server', function (target) { - if (target === 'dist') { - return grunt.task.run(['build', 'connect:dist:keepalive']); - } - - grunt.task.run([ - 'clean:server', - 'ngconstant:server', - 'wiredep', - 'concurrent:server', - 'autoprefixer', - 'connect:livereload', - 'watch' - ]); - }); - - grunt.registerTask('server', 'DEPRECATED TASK. Use the "serve" task instead', function (target) { - grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.'); - grunt.task.run(['serve:' + target]); - }); - - grunt.registerTask('test', [ - 'clean:server', - 'concurrent:test', - 'autoprefixer', - 'connect:test', - 'karma' - ]); - - grunt.registerTask('build', [ - 'clean:dist', - 'ngconstant:build', - 'wiredep', - 'useminPrepare', - 'concurrent:dist', - 'autoprefixer', - 'concat', - 'ngAnnotate', - 'copy:dist', - 'cdnify', - 'cssmin', - 'uglify', - // 'filerev', - 'usemin', - 'htmlmin' - ]); - - grunt.registerTask('deploy', [ - 'build', - 'buildcontrol' - ]); - - grunt.registerTask('default', [ - 'newer:jshint', - 'test', - 'build' - ]); -}; diff --git a/app/templates/client/README.md b/app/templates/client/README.md new file mode 100644 index 0000000..e3e56b3 --- /dev/null +++ b/app/templates/client/README.md @@ -0,0 +1,27 @@ +[![Build Status](https://travis-ci.org/Gizra/elm-spa-example.svg?branch=master)](https://travis-ci.org/Gizra/elm-spa-example) + +> elm v0.18 single page application (SPA) example + +Read about this app in the post [Faithful Elm and the Amazing Router](http://www.gizra.com/content/faithful-elm-amazing-router/) + +## Installation + +Make sure the following are installed: + +* NodeJs (and npm) +* Elm (e.g. `npm install -g elm@0.17.0`) +* Compass (for SASS) (`gem update --system && gem install compass`) + +## Usage + +1. Serve locally, and watch file changes: `gulp` +1. Prepare file for publishing (e.g. minify, and rev file names): `gulp publish` +1. Deploy to GitHub's pages (`gh-pages` branch of your repository): `gulp deploy` + +## Unit Tests + +In order to view the tests on the browser Start elm reactor (elm-reactor) and navigate to http://0.0.0.0:8000/src/elm/TestRunner.elm + +## License + +MIT diff --git a/app/templates/client/_bowerrc b/app/templates/client/_bowerrc deleted file mode 100644 index 69fad35..0000000 --- a/app/templates/client/_bowerrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "directory": "bower_components" -} diff --git a/app/templates/client/_editorconfig b/app/templates/client/_editorconfig deleted file mode 100644 index c2cdfb8..0000000 --- a/app/templates/client/_editorconfig +++ /dev/null @@ -1,21 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - - -[*] - -# Change these settings to your own preference -indent_style = space -indent_size = 2 - -# We recommend you to keep these unchanged -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/app/templates/client/_gitattributes b/app/templates/client/_gitattributes deleted file mode 100644 index 2125666..0000000 --- a/app/templates/client/_gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto \ No newline at end of file diff --git a/app/templates/client/_gitignore b/app/templates/client/_gitignore index e5de5aa..9ffdce2 100644 --- a/app/templates/client/_gitignore +++ b/app/templates/client/_gitignore @@ -1,8 +1,4 @@ +elm-stuff node_modules +serve dist -.tmp -.sass-cache -bower_components -config.json -app/scripts/config.js -sync_hedley.sh diff --git a/app/templates/client/_jshintrc b/app/templates/client/_jshintrc deleted file mode 100644 index f750969..0000000 --- a/app/templates/client/_jshintrc +++ /dev/null @@ -1,23 +0,0 @@ -{ - "node": true, - "browser": true, - "esnext": true, - "bitwise": true, - "camelcase": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "indent": 2, - "latedef": true, - "newcap": true, - "noarg": true, - "quotmark": "single", - "undef": true, - "unused": true, - "strict": true, - "trailing": true, - "smarttabs": true, - "globals": { - "angular": false - } -} diff --git a/app/templates/client/_travis.yml b/app/templates/client/_travis.yml deleted file mode 100644 index a80b6e0..0000000 --- a/app/templates/client/_travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: node_js -node_js: - - '0.10' -before_script: - - 'npm install -g bower grunt-cli' - - 'bower install' diff --git a/app/templates/client/app/404.html b/app/templates/client/app/404.html deleted file mode 100644 index ec98e3c..0000000 --- a/app/templates/client/app/404.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - Page Not Found :( - - - -
-

Not found :(

-

Sorry, but the page you were trying to view does not exist.

-

It looks like this was the result of either:

- - - -
- - diff --git a/app/templates/client/app/CNAME b/app/templates/client/app/CNAME deleted file mode 100644 index f1921c0..0000000 --- a/app/templates/client/app/CNAME +++ /dev/null @@ -1 +0,0 @@ -# Enter your custom domain here diff --git a/app/templates/client/app/favicon.ico b/app/templates/client/app/favicon.ico deleted file mode 100644 index 8a163fbc628488b0f58bc23dc517294ce9aff557..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6774 zcmeHL&1w`u5bl`l2C`_PXh1Qz8d+i>B4Yd@7`=E<2!h~2FuDjHyvX{4guUeITjWV3 zZ{cm9!B?<)YO24cx_hT*W|2LZ%v4uZ*Uwiqz1_2G%mV%Q`^Hl9=k(W_G3&;dExJi* zp3-e+ia(mW(BqpGA?>d2++Du>a&+VIh=RTNPQ)8OusDYl$TViI#MWeM3oB*~%@66O z%5rG$=3B2TIqmr2jKDe76h^Ayj5*kx%~03sW+-1>zQ6aGyuLZ4`yV=5 zqvwo3091@J)@Po9&w;}a4!htTyOlP;RJRwB2bqBe98kyWyTxEfgJWhk>@i7~$Sh5# z>9b09d%?Q-i6h;%D}pW=MK5;Zr$=O(j)-Ta23?cXte-X3f_Uz@G#B4Hwia{ftid@I zF%O(jHr~l00}FWhR>%O(pU>f?PE-yK{n4Gf`sMde>9QVkvZice70X(|T(!6Opl{XQ zsi?kQY7N(m?TGHuLw4N~FBzY^koYWv!?OhX@?a-F*r6h+7M`#Ihgq>l1Xv*xvcnU0 z;7|=#4mjz7?v0iAxDP{EAGppSdyJEPWc?L8oGZ6IEysLgx|F}flYB8>=zt!a)EKM3 z)9DcWIj3Wde9rMwN4uRBqCRf>W)viOU=jH1sU zCnqWVT2J+y=Evp!$NTNCCLQt08T<04wbklD^_rlq;{!h(W<`jl~~8kqR-qb zIJ5k9P-3O$I`h1ZV`_X_PMsD1zJl;<)mZ=cxBXLz_0-qd&tv;6?IZY@rty@i;Xc+9 zW93euQS+}REwg6s139~@#^=ip>uh>EuKN8^a#MN6tQK@Jpv#4ZDcdj~TKbxl&9x$0 SNI7y2W#1=7oMTJv>*HS$DU+}O diff --git a/app/templates/client/app/images/marker-blue.png b/app/templates/client/app/images/marker-blue.png deleted file mode 100644 index cbf44ab17107e28611206b73b30e56d61a1214f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8624 zcmV;hAy3|kP)4Tx09XmFS!GmJUAJEQ>=V?XyF;= zSnTZ^;}Zt)4FIsTK9SL}0N}czTqq$nl8omeW{!pgA^uLr0oxc4*#l6 z0C+V3C}>Ee=l}p{4WXPr-X{Rsq4kAjjN!gP;jmgF#M(ZABq-x-fjUxQVG(3J3$d8@ zf7l854@@F?|FuaX1^mUoe1SFLiw%QfB11_@+kgH)A7P(?Z-G6Jk&1K(;fK9B4q6Z|g+I*^xQ#fbx0&Xk)UE zPzR+6i-Bm{J}T%#+I|;1lqn{Lq~#1yU6_&az+;;V{OPWA@lhHEPw$p z1pFWl-rgVr1cRXd<>qDh?^lU2Ac1HQ0Q`XTZ^@q;&f6v7@M#Z{!8;HRbz=V3)88)j z1MyJ)I^k zj2HhS0X~p*D7>RV(0`Gc!!keUT{L`#|MB5pd$>2aLEJR%8Ez8y0yu%$Z7aV$^$bdj z{=?v}WlJy#t^JCMAB|BVJ30Y>-)6TR(GciE&>tPS%W?~H-~ask>njOL$PCDB z0Q-NeUt%omf50FjGATMJATX9+56;4V{AS@kGE)2sa`H+5kmq!=4gjC*w&!Yub>LrF z^acQ$PvIOe^smgL7=Zc$0O-E_D-$*ZfFU1%4sV~h==fjuu;d>cpaOJoWN-jpAOysq zPYOTz+P|=WP)QL7n}j-zy(kas=-xI51K(M=m7UY zFL(l;fic)O=D-qI0UO{Of*=Hhh%g}>2p=MhNFoY|8lsIDAr^=o;)-}70Z2F!hwMcT zA;*wB4>E|nK&FrdWEJ^}K`}HKW(*HT1S5-4!{}kmF%FnLm;g)^ zCK;2CIe{s}lwq!5nlK%hUd%JhBxVV-jslb#Wkm&0X;ck0K&??X)E|vT_oG>8K3ay> zqPJjMKSd|eWpopZ$1-90vC^=AnqnQXKG-Pierz`O9JU(Ugzd&Y#ZF;Yus?A`95+r9 zr-3uWx!?kD3AjvLKCTkih`R^J&Kzz7kH@p(Me(X|Y`Wru@hSLh{CRvG{w{tHKZ9Q< z5C|LuNrD!^nm{7N5;6&A30Da1gdxHl;R^*d1s{b1g)xO2ML0zoMLtChMH|Hs#aoJR zl=PIslp2)Ql)jWnlsS|Yl(#4cDCa1@Q87@7QfW~+Pz6&Rq$;GUrMgEoPW6eJnp%)r zo!XW36x5;O)h?lf^UCupi@?$W%V`9vfVMTojYH)1UD1o0BF zi#S32Ld!%eLu*FsOPfktMB79=MEjnOl1`XTkIsWGnJ%BMfo_0qnVynfgx-LjM8BWD zi2f%1DE&GE6N5a1HA5IfHbV_V55qhofl-9fh|!lZow1y;i*betWfEdCVDe!)#8km_ zk7&n(Jp#vIIijQJ{aKl2I;Ba0G?6H6jX5z8HxNmi6qgw>2Slr@L7o^^!vD;p1+ z9-ANAQMOvPA-2!#Tw2smv_7rrW95a4iqjBejxl=L{!9C_q*swTWTunSg{Ji)R35BLcvF&NMTr! zsA#O1s@S6VQAtwCPpL%dxiXWorSf6rPURmesw&YcwJHm$J5;??i&aO}nAL35veh1{ z9@0D=Zu!17D?-()}%JSwwHFP_N0!0 z4oRm>XIfWC*H^bv_pP3|Ua;O3z4!WZ`qBE0`kxIn4E7n^HAD?f46_XTjTns_jm{ZO z7z-K)7+*GCF;O;2F}Z7sGc`9oX*z1gW9DOa$!ukp>aKmey3J|K?aj}bPg_V>L|fdl z#8~dKJY_j?7iY+;8WnUVsRO9Q}NpI zMe$z}oDv!m84|-2`;sJ*jwZcLHctL01)JiN(z#b)@4>xO`}Fo*+>h+{-rt!jl$xG8 zcfjO8^+BqGAqO9)$))9`tsQbcbSs@F{XqImhDpZdOxn!o%+bS|hc6t#9tk?qe^l}4 z*`q(Re6t=MlRK7w?0dFP_M_wS#|w{do$x==pQDmfl8es`&mB3bbFw;*Aul;^=9J~B zrqleVvrey_@jTO$uatkGfT|#_V6xDnu;uKIv$GO*w7n{mN%JR$cDOD^IQ(UTvwBuDw{tT6gRkxE6P9@w(Ubk$Us`&IYxH+8e?* ziW`|4vzm~mq^6bTz~;#o*OtMXyKZ*g(!AApTjq9Et3Yef9hN&eZB%XPZCmZh?dx|V z?=E))bj);mc8+zqbPadgcK6>izxVLI@%^p`dJozkYCUZ2(dfDPNbON`uS#!IpK@R0 zW97$<{VM%U1F8cpPt>2>8r(V9Hl#Du@zn6?{b94=-e*?N21gu6o{zeZPCoa2KK~;0 z#mATNFTaf)7{`rgy`q1WKfygw_FDXP-K5IoohieqzG?gEu^FG4rP-L-?{n#Ih;Q=W z^1Zz@uQ1=bV7%~TarfffQsmON<;-^s?~31xy}$86_e0-`%gWrx=#N{g*`GK*Rjnzl zb*|g2Pi%y3eEXdBh2u;0rrPF%ug+iJeoOdH_+I!!{Ku`I=0C@`!nU>|NztV3y#NZI z7=M2NR;vIYx&pxT1OO`9UuUju4Y)-{pbo^6pc@fK;*kls0$)P;(ITu6_6klHH;&IH zn87t{j)+Ln1?y!w!TWiZ~p3Bq}31J!WrgOk8lhSAt!lL6TxJd-BJW z?!5*3!uK1e3LF3jW)AkG)gLNNKbet{nRGbjNcho^tcYW$vKLQi$>&3 z8{%%{G+t`D-#p#2b&K=1a;xPXQd?|$#@+mme>!WsZgtqclrZ3A3O$M zOYo-BmOre9;^U@~P+V!6(`z%It&%~{6vl824gf$uQ?9f6NR z!aJ;mQ$#96d&S;K&`Zio*-J;t9GAT+_fURP;foTTvY?8Fs->EbdaTAF%~Lzev}(0m zblP>h^zP|*!F8q8sL}X}NttP}S^2K(=Is`bEJv)Ste0%o?0`MB1EV9Slc2Mxi;SzH zo7!$|ccVR~9wwf;UTP#cZ&4pUUsgY&Kh}RU;6vbS(DUHFkdDyiu$u6ah@8m8DC1~i z^l(f`Y-pTXJR$yNLS15J(w=0M6o!=Ly^r?Q>_3_sc);Kb(L5+-`p-gcqgSvz*b_Kv+)+FuzJj1l zn4rj{RHNLWYN9?sV^5T(CDN|aP16rBbTM`?J!XEz@_`M@&dwpmsmo=@?Z=bAdzkMG ze}zDUV7pMyj;F$}MHWO?#J)%XNeU?nsV(V`GOuNy$laB%Q#h}9R4Go`L&aECQjJdS zgZiLGt>)34zFIok9NH^7J-X$3srsG*FCO@|$hG>#vf`kiZB(p_ELB;3C5?sG5N6Xc=cN$vT{>pCgR+s{YBXU_M$ zpQ}Ho|LcI7z@#9{VBruXmJUq}^FDJQDIR_Kg8ik-*v0XU3D?(8rrc*JW}m+q zUZ7lxeb2b^_S4K~p05!7_=f=iCwK<6x(q;R1OUP?e?$-SJvKxD z9Ml0Ot`lHr`T&yM_jmok03tkVDgZN>Ge`!f;py=qm|Zc z`a%Xqh7*hwjH!(4Oc6|r%mK`ASOQs=SR+~2+4i$ju@`cPa@^#!;+*B$$IZ@tgU60% zjkk!;gm0a{Qed|ryJ`l3voY^U6i{H($! zB}ADh1Lg#rU>4vs(tr#j>likS20YuRVX83w@D$IBnxV01 zDLQ~|Vddb-ya3ye!^1sC3hpLu6R&~ahwmUz5NrwO2y+xl6zLQrloFH&DW6j*P#vdQ zqPC!}g{R*nni--sv7J_dwwg|mu7sY4zLY_Pp^j03v7SkZ=_a!-a}SFn%M5D_8_HI| zF3bLq!-o?C*D52fMedV4>O60F3;AsMY4{%r922w@ViFqLQ7IfJVkF8T`cdqWc)7$O zNgpXQX*C%O*$BBj`RfWJieHr3Rn%48)l$_fG+I1b>G|mU8-y7q8f6&g znv|GcH+!&a%zV|7XeDNCWaDRh#IDM|$6?8d-dV%N%k`*R%kG6eTpl)_N4y?*<9*D1 zbN$8wqykfddPDG`dSUV5*CXCU2}HZa6vd9lGbGp~o=AF}LbKO$-|_vA4=^5dNh>+D zlwp`zd4%$4WY%1^_wnhR@RJmIm8YHa=?VtU78C`Y*T29~`mt=V;#TFA>T5OaSDw|b zTxV%eYIJE%xOwLG)jOT-10Aos-rf855ci0_kE>t!iNui1u;Pf)bM2S<<7N|flWx-v zv#M_x-%c!?S<+vgdLR2?{bS7P?3&Gb(`S}1k()i=_`k>h=-qCA1b&;~gyY`|W|WSD zIxqy*5l%!0t|{5b4P+ccz$n0$Ka6RBdkb1r8;yi{no%qfYlKb3-o|d?)No0-J8-n` z!k@xV5Tpnxgg%%zNuU^}RHi&fxkVL7^^{tlx`9Rv?mxJRMYR01|IjJYb<#W1FEL~? z3Nqeh@?iSOe38Wfj_p%yI&91A=Q*r7@to~&Tx;`ScpmZ|4mV*l z5iLZ_VuJ59BcwVQNl^}_U@ z7-|^Rm~fcp?V>l&v1GNnU?XGOVQ=D4>qP4u>+;NP=kDq~Ode^T8>A@jcfOH+n*mut zoWWJ03Sl=QR3n?B6=QD1NyV2YvLiZ1`#s;IFQVv&-=#5UlI5Z|Y z-ZkO$dTPpddURHM?);nidC>*8#gwJo<@4_f-yi!Bv*P$sb``fe_^Ei!eVu##`Nrwb zyFP#Z^3SI2=J&5v-z>j_gb{{z^n*e2OF2W0>N2^mR5K~#9!?OO|M z8+RFZyFS>X+oU}}?9q%p2y7M5LA${y9SAX)HmwxfXXjDp?(AfYfDjr;LqMcWteOav zPMg$1X_=sfY;0ulo$c6nXXnu*_MIQG?`$_|n=C79w{=q2*V;5We*ddis;;z6b9U@5 zf9bC~D~fa9@4oN%{l4%2#bTLVv#VrF*Y!EpwzkWxx_()Uq|fun@_ehRE+D&^=NEn# z+xXnpwt)Q1vth&hm69}%{7y?t%UpcHoQem*6;(gQD%yQ6CHs9w$^M9uGf!i`z{azG zXJqxYTA{by<_*0}`Gn0BC;pz|rC(6INZY*PcUF0WpQ}p+uBIgz@_UM3&;DE{89? z&F+()b@-$;R6zJD^_s8B8Vp|3qQg7N9RN0!yN&Hve*i<*!SD#JWcIO2_5>qq*y;o= ztCI}bil*bL*9zNpyEpV92xL!CoG{_=hfm=C2*rnYP+s9>c+1ZyfB5V5p;xafTL9>I z?$h-4^eVjRwQNl5bSJXAVE6%IEP3nhWL|eCayr65X9)nfo&kam!;S3>M097cTX%ML z=>TFJUa=1zl63IWHi`@V*x4a0YaZekmW}assnnGX>ET;kO2&;h{wfR`A;vXnyA8wH z!W;j{KGPF;@vNJGQWNSmHo^p+Aw})Hu%7aDe#_AzT~A1KX5GI~eY_dw+wR{w<72 zGjZ)$le$}H;quJ?d;8M_0VHXJNeze;p|a2J6aQ`V25D;`a$Cs(ctn=3Xpps~i21cJ zCg({H>+aMJ9ei+pE93!Xv_?M zU>I~EZ{I`^h*y9xCmeyuL7P`-w{gMML~IqG19W{Z+dp(O(p)o}%qK_)G-h^A&3KbQ zIGr?|o!$HJ`5#U$vVv%dV(Q;Hu0-NmJh&CRv$4Sb7X^SxAe;(~@BpsDeg_w7b$Z2n z4Y^&6W$1c2y96rmdBpyx0YD+w&ol^xEO9*yEz$4rORNXpP!xV3Vu+2Z4FDhpA#|Lb zDhCu11Vd=?(g}yZ>j3WmOa;W{k92fgVLAv*U*caI!F3;>D* z0@=0Vc5;2k#*0tcxzJsvfZ&kx*TV}KJa7*{(90eK@B%#HecW%f`lJU;%L+(~&p;q$ zJ>Y_AXN4kzP~ZimOQF-oiK|Tk;fc7m7!SOOm9_u46Zxsj;}U}aP9WTHl=6jB6d!b( zlNuHE4q8!p8d-sj=ga}1m>@t(lSYi46W>OG^`tq)lAN!mA&^K$FpUq22?8>NowVtE z(m3|hrhw2GANo8VHb+R&GysYS!iT#??3=Xn((lX(hg9kwCYIjycy^?sK&XpEbq6P` zGX(^9QoS1wn{TQ#Pmua29h}%|QuUax#>2|2(J9s{hZFqaaTHb0n3Nrc@1W(3AKBq( zC1nT7E4+*P;pe7+(3Hqlp!15&j)4HZ>g;E{LU%E;MPcOrMtI9x5)ega92@C3V0+(k~O9&K-5WLlSbrKHb; zC(ukZlVs)c?JOAwy1aM{UJ$7jx|W*WZg+1V{01v$wg80pOp(xLgFuexPM%`#ad6U~ z@VUzLMr%VfdW#zb2@n*7#c`&by3J(63kV;;6a17{e6)t=uQvYx7Tkc4_!1s|BNNN) zA+rYMa_&I9fa1dwj?TytCn`s}r)N=d&Lt5NPYh(QV~ti@rl(OYpA)D;7?8sknd%Uo z1ptaO@I}77F`?ZF@$@T5=urll!gH}CY34B;Dn?x2BI90l_$OBj*d!d&mau&JOW=`b-Udk|S_dQNIZl z`8Qft-}DR)O_T_PNk?bbal2pO>p1DlWHNSUCsq@?uchOeFTf*OQCEzRaXruA@cBn~ zE^=mx$YMho2Es2`{awqfl1WExrZiuY>M}N_K1W7)zz>HBPn=UwO%(*f0i;*pgCg{a z|D?FU^75NzMQFGZ*(#5ceiHmJNG93L0>NmR856GpX`^qp277MB-#sMxAlC(3rw7=SeYSjN`1U35CB>5tHvopNn15^iP;rIt_j}eAd~<^MPPU z;lgn{FOFdU#mWVjSSn=^k8t%Rs_0nyDZ&v=+Q>(nG3NoH&@i1e`h{NcMKa~yJT$b> zQb~(QY?nM(P39fhWIji91R46g5D<*fyr5AJyk+O5KcFU9ZmHx2AePXv%vz|+A*9d$ zmEh+DAu<6D*n^62^XiU3wWZRR3sTlSkh}|J`17o+juCG-og+>M!3Y6^1B7FE`+szL zL!W_1U2eHl79G#tkI-1p#JnXTZ5 zQxe)H7=D2>rF@U((H% zkJ}>ECp=+UZLn`8QGzWq{l84JYj(}9*)_XPuKxl_D3Gh1v@Y2I00004Tx09XmFS!GmJUAJEQ>=V?XyF;= zSnTZ^;}Zt)4FIsTK9SL}0N}czTqq$nl8omeW{!pgA^uLr0oxc4*#l6 z0C+V3C}>Ee=l}p{4WXPr-X{Rsq4kAjjN!gP;jmgF#M(ZABq-x-fjUxQVG(3J3$d8@ zf7l854@@F?|FuaX1^mUoe1SFLiw%QfB11_@+kgH)A7P(?Z-G6Jk&1K(;fK9B4q6Z|g+I*^xQ#fbx0&Xk)UE zPzR+6i-Bm{J}T%#+I|;1lqn{Lq~#1yU6_&az+;;V{OPWA@lhHEPw$p z1pFWl-rgVr1cRXd<>qDh?^lU2Ac1HQ0Q`XTZ^@q;&f6v7@M#Z{!8;HRbz=V3)88)j z1MyJ)I^k zj2HhS0X~p*D7>RV(0`Gc!!keUT{L`#|MB5pd$>2aLEJR%8Ez8y0yu%$Z7aV$^$bdj z{=?v}WlJy#t^JCMAB|BVJ30Y>-)6TR(GciE&>tPS%W?~H-~ask>njOL$PCDB z0Q-NeUt%omf50FjGATMJATX9+56;4V{AS@kGE)2sa`H+5kmq!=4gjC*w&!Yub>LrF z^acQ$PvIOe^smgL7=Zc$0O-E_D-$*ZfFU1%4sV~h==fjuu;d>cpaOJoWN-jpAOysq zPYOTz+P|=WP)QL7n}j-zy(kas=-xI51K(M=m7UY zFL(l;fic)O=D-qI0UO{Of*=Hhh%g}>2p=MhNFoY|8lsIDAr^=o;)-}70Z2F!hwMcT zA;*wB4>E|nK&FrdWEJ^}K`}HKW(*HT1S5-4!{}kmF%FnLm;g)^ zCK;2CIe{s}lwq!5nlK%hUd%JhBxVV-jslb#Wkm&0X;ck0K&??X)E|vT_oG>8K3ay> zqPJjMKSd|eWpopZ$1-90vC^=AnqnQXKG-Pierz`O9JU(Ugzd&Y#ZF;Yus?A`95+r9 zr-3uWx!?kD3AjvLKCTkih`R^J&Kzz7kH@p(Me(X|Y`Wru@hSLh{CRvG{w{tHKZ9Q< z5C|LuNrD!^nm{7N5;6&A30Da1gdxHl;R^*d1s{b1g)xO2ML0zoMLtChMH|Hs#aoJR zl=PIslp2)Ql)jWnlsS|Yl(#4cDCa1@Q87@7QfW~+Pz6&Rq$;GUrMgEoPW6eJnp%)r zo!XW36x5;O)h?lf^UCupi@?$W%V`9vfVMTojYH)1UD1o0BF zi#S32Ld!%eLu*FsOPfktMB79=MEjnOl1`XTkIsWGnJ%BMfo_0qnVynfgx-LjM8BWD zi2f%1DE&GE6N5a1HA5IfHbV_V55qhofl-9fh|!lZow1y;i*betWfEdCVDe!)#8km_ zk7&n(Jp#vIIijQJ{aKl2I;Ba0G?6H6jX5z8HxNmi6qgw>2Slr@L7o^^!vD;p1+ z9-ANAQMOvPA-2!#Tw2smv_7rrW95a4iqjBejxl=L{!9C_q*swTWTunSg{Ji)R35BLcvF&NMTr! zsA#O1s@S6VQAtwCPpL%dxiXWorSf6rPURmesw&YcwJHm$J5;??i&aO}nAL35veh1{ z9@0D=Zu!17D?-()}%JSwwHFP_N0!0 z4oRm>XIfWC*H^bv_pP3|Ua;O3z4!WZ`qBE0`kxIn4E7n^HAD?f46_XTjTns_jm{ZO z7z-K)7+*GCF;O;2F}Z7sGc`9oX*z1gW9DOa$!ukp>aKmey3J|K?aj}bPg_V>L|fdl z#8~dKJY_j?7iY+;8WnUVsRO9Q}NpI zMe$z}oDv!m84|-2`;sJ*jwZcLHctL01)JiN(z#b)@4>xO`}Fo*+>h+{-rt!jl$xG8 zcfjO8^+BqGAqO9)$))9`tsQbcbSs@F{XqImhDpZdOxn!o%+bS|hc6t#9tk?qe^l}4 z*`q(Re6t=MlRK7w?0dFP_M_wS#|w{do$x==pQDmfl8es`&mB3bbFw;*Aul;^=9J~B zrqleVvrey_@jTO$uatkGfT|#_V6xDnu;uKIv$GO*w7n{mN%JR$cDOD^IQ(UTvwBuDw{tT6gRkxE6P9@w(Ubk$Us`&IYxH+8e?* ziW`|4vzm~mq^6bTz~;#o*OtMXyKZ*g(!AApTjq9Et3Yef9hN&eZB%XPZCmZh?dx|V z?=E))bj);mc8+zqbPadgcK6>izxVLI@%^p`dJozkYCUZ2(dfDPNbON`uS#!IpK@R0 zW97$<{VM%U1F8cpPt>2>8r(V9Hl#Du@zn6?{b94=-e*?N21gu6o{zeZPCoa2KK~;0 z#mATNFTaf)7{`rgy`q1WKfygw_FDXP-K5IoohieqzG?gEu^FG4rP-L-?{n#Ih;Q=W z^1Zz@uQ1=bV7%~TarfffQsmON<;-^s?~31xy}$86_e0-`%gWrx=#N{g*`GK*Rjnzl zb*|g2Pi%y3eEXdBh2u;0rrPF%ug+iJeoOdH_+I!!{Ku`I=0C@`!nU>|NztV3y#NZI z7=M2NR;vIYx&pxT1OO`9UuUju4Y)-{pbo^6pc@fK;*kls0$)P;(ITu6_6klHH;&IH zn87t{j)+Ln1?y!w!TWiZ~p3Bq}31J!WrgOk8lhSAt!lL6TxJd-BJW z?!5*3!uK1e3LF3jW)AkG)gLNNKbet{nRGbjNcho^tcYW$vKLQi$>&3 z8{%%{G+t`D-#p#2b&K=1a;xPXQd?|$#@+mme>!WsZgtqclrZ3A3O$M zOYo-BmOre9;^U@~P+V!6(`z%It&%~{6vl824gf$uQ?9f6NR z!aJ;mQ$#96d&S;K&`Zio*-J;t9GAT+_fURP;foTTvY?8Fs->EbdaTAF%~Lzev}(0m zblP>h^zP|*!F8q8sL}X}NttP}S^2K(=Is`bEJv)Ste0%o?0`MB1EV9Slc2Mxi;SzH zo7!$|ccVR~9wwf;UTP#cZ&4pUUsgY&Kh}RU;6vbS(DUHFkdDyiu$u6ah@8m8DC1~i z^l(f`Y-pTXJR$yNLS15J(w=0M6o!=Ly^r?Q>_3_sc);Kb(L5+-`p-gcqgSvz*b_Kv+)+FuzJj1l zn4rj{RHNLWYN9?sV^5T(CDN|aP16rBbTM`?J!XEz@_`M@&dwpmsmo=@?Z=bAdzkMG ze}zDUV7pMyj;F$}MHWO?#J)%XNeU?nsV(V`GOuNy$laB%Q#h}9R4Go`L&aECQjJdS zgZiLGt>)34zFIok9NH^7J-X$3srsG*FCO@|$hG>#vf`kiZB(p_ELB;3C5?sG5N6Xc=cN$vT{>pCgR+s{YBXU_M$ zpQ}Ho|LcI7z@#9{VBruXmJUq}^FDJQDIR_Kg8ik-*v0XU3D?(8rrc*JW}m+q zUZ7lxeb2b^_S4K~p05!7_=f=iCwK<6x(q;R1OUP?e?$-SJvKxD z9Ml0Ot`lHr`T&yM_jmok03tkVDgZN>Ge`!f;py=qm|Zc z`a%Xqh7*hwjH!(4Oc6|r%mK`ASOQs=SR+~2+4i$ju@`cPa@^#!;+*B$$IZ@tgU60% zjkk!;gm0a{Qed|ryJ`l3voY^U6i{H($! zB}ADh1Lg#rU>4vs(tr#j>likS20YuRVX83w@D$IBnxV01 zDLQ~|Vddb-ya3ye!^1sC3hpLu6R&~ahwmUz5NrwO2y+xl6zLQrloFH&DW6j*P#vdQ zqPC!}g{R*nni--sv7J_dwwg|mu7sY4zLY_Pp^j03v7SkZ=_a!-a}SFn%M5D_8_HI| zF3bLq!-o?C*D52fMedV4>O60F3;AsMY4{%r922w@ViFqLQ7IfJVkF8T`cdqWc)7$O zNgpXQX*C%O*$BBj`RfWJieHr3Rn%48)l$_fG+I1b>G|mU8-y7q8f6&g znv|GcH+!&a%zV|7XeDNCWaDRh#IDM|$6?8d-dV%N%k`*R%kG6eTpl)_N4y?*<9*D1 zbN$8wqykfddPDG`dSUV5*CXCU2}HZa6vd9lGbGp~o=AF}LbKO$-|_vA4=^5dNh>+D zlwp`zd4%$4WY%1^_wnhR@RJmIm8YHa=?VtU78C`Y*T29~`mt=V;#TFA>T5OaSDw|b zTxV%eYIJE%xOwLG)jOT-10Aos-rf855ci0_kE>t!iNui1u;Pf)bM2S<<7N|flWx-v zv#M_x-%c!?S<+vgdLR2?{bS7P?3&Gb(`S}1k()i=_`k>h=-qCA1b&;~gyY`|W|WSD zIxqy*5l%!0t|{5b4P+ccz$n0$Ka6RBdkb1r8;yi{no%qfYlKb3-o|d?)No0-J8-n` z!k@xV5Tpnxgg%%zNuU^}RHi&fxkVL7^^{tlx`9Rv?mxJRMYR01|IjJYb<#W1FEL~? z3Nqeh@?iSOe38Wfj_p%yI&91A=Q*r7@to~&Tx;`ScpmZ|4mV*l z5iLZ_VuJ59BcwVQNl^}_U@ z7-|^Rm~fcp?V>l&v1GNnU?XGOVQ=D4>qP4u>+;NP=kDq~Ode^T8>A@jcfOH+n*mut zoWWJ03Sl=QR3n?B6=QD1NyV2YvLiZ1`#s;IFQVv&-=#5UlI5Z|Y z-ZkO$dTPpddURHM?);nidC>*8#gwJo<@4_f-yi!Bv*P$sb``fe_^Ei!eVu##`Nrwb zyFP#Z^3SI2=J&5v-z>j_gb{{z^n*e2OF2W0>N2+B!BK~#9!?VEjU z8)qHIGuWWevKJMNbrdL2iEUJLFbOfFZkd3NVBguv^t_z&GW*VPvak+qYo(1hMIaaw zV=%NaCUv}sw^0NVL!0^sTTt7?KHEv!K}yx6_1)P{nlvx!);2GVb9|q3l10!iO?ytx zC6Dyz&Q)98?{mNR=XVtqt7~VFjHkatO)(C zsnVZX8vj*anEoNH$iGie=@&^R{WwnL)&!GU;!LjT;DOJ#)l_Y4ZEbx=SqW|16;~aq zuU~7#YBprTV2)@@+*+GCff&0mmv0D3NQ>}fZ;Xb>Q2W*{5X8|CO z-KkUQr390o*NOj;I15&_GvAi>`sy3o!j)@058=el`n9>Hx~&jeHB`16y9+{(9>VyC!lC#ZiW$>ah+Ok09gErh&~@JoTP5C-;)FcoOXX_$9Enr^)9@Gf?DzR@Satx% z2)WLTFuxIDzcV9zaJZ>%(Kmm&5EkwfApElk!$357ww-?Eu0z|muU%d zhG73w7yI_zf}qc8MOP>=i3oB$&ip@$GwCzSB78a~y|+JFeJix!Cj*U2MmWF$Y-5Q4 z+<+kV!BD_4lTJnccY^u8trO{^dyt@&E)u{C_i1Fap^{w?;^i^&tD*AmiL^J1%n#cW5Eev^DS+rrDDtDiEL?|>35VBMVaDMLME>t&ewPElZ3tqE zEK}4Uh!}r_ldLKM1acD!p(ipCmJtu1^B{!IB7|v#%)<#T?G#SjH2@vR3gHazga*8V z2cL9=(7XpBS*$Y(NUP84O#XF;BHhwkwZolaE89RmD5^qJV~0nY>Siui_)>xwD%G-KjRMDBlJxcoF6> zbOI%@*CBMH1czCeNhbd+#e7>_fnaFFhp4a*De@_iA$lEx;~=Rt3?K2=4&wi;OPW9! zOrj4DK9O_5A(k3~=s(~(u5&rvL8QA~g1{np=u-eu$d&;F@&BcmEZTKuf(5s`13{(D z$P1>kZ__365`^Sz;sgj|&<3Ad5Wd>qsMz^3f^g7DoaD1f>X+OyhXKI zK@F~l0pjsg$oDaKj@Pu%M+}WUi29*#w5iT6gDMhbwWN!)%Y-6-z@0;u7P1cJa1Z># ztNqc?lvn!+bNf)p(S(=wGyhi63vsQn(i^SWDBA2OqVm?P0A7QTDmGRM3FaS9aOvq+ zYOAhw_sCt$9Nf<}Gs5?Y%(35-?KM$2`Ok@S$`qF#w%s1?aJtPJ|FjX|Pg#f(S&dD5 zsoVV4K@3u5COw;StAzgVbBCdpmUS78aX83*rsyp+DxPY&qiC8&ZjjMQpgMg=?3$9z zBIMM%t?&y^0z%F!Cs1?kcKC#o@CAQvC&AlGI`ogsBUR|dw(Nr%nK0jEM(IPD2x}XNDsN<$Xd0I{ zq#-*!gR~+YOH%(c2~xHE0L0ou$UDskLN{1p)&i~Qz#h*pp~}2e2+8?-aRBT4VV5l5 zoQ{m^UGapzjV^=OI*exNseVZFD;d7%+vj@c=+H2zDGOo@?Q zw;&W}7^NB11*2lr_kb$DudTK9>IyF|kw^5YAyIKYmv7{m5rD{Fz%(vun3GHM6RtX! z4#5N-=^*mvigH-uC_kgJ=li3|Fe1kE`J%>R5avt(_fv^tljNH{q;g$Z01&1jCR=jQ z2nhNc2s}1&9@AJ1LTAwg#LmM69@ML=*RSaG>ZPnvn1&enMIQ0uK%+7!M*S9Q#DyRf z2fd5+K%7ZkN$Ptvb)QRZvXxp^m7#iKqy#?K$x9+pTK<|{J_^UStI7@MwWsB@` z{(FacGmwQdOd%T-iO|N1D{+aU%ZRW9%wqyD=D&P#QeiHQBLtc$#lOogHwU<+&>5@S zkcrUyp%Je`8>WP#?4JF?1=`RXhY2Kk;6oKx`s%B%zR?VmuK_?DFwS)W8 diff --git a/app/templates/client/app/images/shadow.png b/app/templates/client/app/images/shadow.png deleted file mode 100644 index 3db6d1bd1cc28b2250644838232ae574f21da859..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6433 zcmV++8Q$iJP)4Tx09XmFS!GmJUAJEQ>=V?XyF;= zSnTZ^;}Zt)4FIsTK9SL}0N}czTqq$nl8omeW{!pgA^uLr0oxc4*#l6 z0C+V3C}>Ee=l}p{4WXPr-X{Rsq4kAjjN!gP;jmgF#M(ZABq-x-fjUxQVG(3J3$d8@ zf7l854@@F?|FuaX1^mUoe1SFLiw%QfB11_@+kgH)A7P(?Z-G6Jk&1K(;fK9B4q6Z|g+I*^xQ#fbx0&Xk)UE zPzR+6i-Bm{J}T%#+I|;1lqn{Lq~#1yU6_&az+;;V{OPWA@lhHEPw$p z1pFWl-rgVr1cRXd<>qDh?^lU2Ac1HQ0Q`XTZ^@q;&f6v7@M#Z{!8;HRbz=V3)88)j z1MyJ)I^k zj2HhS0X~p*D7>RV(0`Gc!!keUT{L`#|MB5pd$>2aLEJR%8Ez8y0yu%$Z7aV$^$bdj z{=?v}WlJy#t^JCMAB|BVJ30Y>-)6TR(GciE&>tPS%W?~H-~ask>njOL$PCDB z0Q-NeUt%omf50FjGATMJATX9+56;4V{AS@kGE)2sa`H+5kmq!=4gjC*w&!Yub>LrF z^acQ$PvIOe^smgL7=Zc$0O-E_D-$*ZfFU1%4sV~h==fjuu;d>cpaOJoWN-jpAOysq zPYOTz+P|=WP)QL7n}j-zy(kas=-xI51K(M=m7UY zFL(l;fic)O=D-qI0UO{Of*=Hhh%g}>2p=MhNFoY|8lsIDAr^=o;)-}70Z2F!hwMcT zA;*wB4>E|nK&FrdWEJ^}K`}HKW(*HT1S5-4!{}kmF%FnLm;g)^ zCK;2CIe{s}lwq!5nlK%hUd%JhBxVV-jslb#Wkm&0X;ck0K&??X)E|vT_oG>8K3ay> zqPJjMKSd|eWpopZ$1-90vC^=AnqnQXKG-Pierz`O9JU(Ugzd&Y#ZF;Yus?A`95+r9 zr-3uWx!?kD3AjvLKCTkih`R^J&Kzz7kH@p(Me(X|Y`Wru@hSLh{CRvG{w{tHKZ9Q< z5C|LuNrD!^nm{7N5;6&A30Da1gdxHl;R^*d1s{b1g)xO2ML0zoMLtChMH|Hs#aoJR zl=PIslp2)Ql)jWnlsS|Yl(#4cDCa1@Q87@7QfW~+Pz6&Rq$;GUrMgEoPW6eJnp%)r zo!XW36x5;O)h?lf^UCupi@?$W%V`9vfVMTojYH)1UD1o0BF zi#S32Ld!%eLu*FsOPfktMB79=MEjnOl1`XTkIsWGnJ%BMfo_0qnVynfgx-LjM8BWD zi2f%1DE&GE6N5a1HA5IfHbV_V55qhofl-9fh|!lZow1y;i*betWfEdCVDe!)#8km_ zk7&n(Jp#vIIijQJ{aKl2I;Ba0G?6H6jX5z8HxNmi6qgw>2Slr@L7o^^!vD;p1+ z9-ANAQMOvPA-2!#Tw2smv_7rrW95a4iqjBejxl=L{!9C_q*swTWTunSg{Ji)R35BLcvF&NMTr! zsA#O1s@S6VQAtwCPpL%dxiXWorSf6rPURmesw&YcwJHm$J5;??i&aO}nAL35veh1{ z9@0D=Zu!17D?-()}%JSwwHFP_N0!0 z4oRm>XIfWC*H^bv_pP3|Ua;O3z4!WZ`qBE0`kxIn4E7n^HAD?f46_XTjTns_jm{ZO z7z-K)7+*GCF;O;2F}Z7sGc`9oX*z1gW9DOa$!ukp>aKmey3J|K?aj}bPg_V>L|fdl z#8~dKJY_j?7iY+;8WnUVsRO9Q}NpI zMe$z}oDv!m84|-2`;sJ*jwZcLHctL01)JiN(z#b)@4>xO`}Fo*+>h+{-rt!jl$xG8 zcfjO8^+BqGAqO9)$))9`tsQbcbSs@F{XqImhDpZdOxn!o%+bS|hc6t#9tk?qe^l}4 z*`q(Re6t=MlRK7w?0dFP_M_wS#|w{do$x==pQDmfl8es`&mB3bbFw;*Aul;^=9J~B zrqleVvrey_@jTO$uatkGfT|#_V6xDnu;uKIv$GO*w7n{mN%JR$cDOD^IQ(UTvwBuDw{tT6gRkxE6P9@w(Ubk$Us`&IYxH+8e?* ziW`|4vzm~mq^6bTz~;#o*OtMXyKZ*g(!AApTjq9Et3Yef9hN&eZB%XPZCmZh?dx|V z?=E))bj);mc8+zqbPadgcK6>izxVLI@%^p`dJozkYCUZ2(dfDPNbON`uS#!IpK@R0 zW97$<{VM%U1F8cpPt>2>8r(V9Hl#Du@zn6?{b94=-e*?N21gu6o{zeZPCoa2KK~;0 z#mATNFTaf)7{`rgy`q1WKfygw_FDXP-K5IoohieqzG?gEu^FG4rP-L-?{n#Ih;Q=W z^1Zz@uQ1=bV7%~TarfffQsmON<;-^s?~31xy}$86_e0-`%gWrx=#N{g*`GK*Rjnzl zb*|g2Pi%y3eEXdBh2u;0rrPF%ug+iJeoOdH_+I!!{Ku`I=0C@`!nU>|NztV3y#NZI z7=M2NR;vIYx&pxT1OO`9UuUju4Y)-{pbo^6pc@fK;*kls0$)P;(ITu6_6klHH;&IH zn87t{j)+Ln1?y!w!TWiZ~p3Bq}31J!WrgOk8lhSAt!lL6TxJd-BJW z?!5*3!uK1e3LF3jW)AkG)gLNNKbet{nRGbjNcho^tcYW$vKLQi$>&3 z8{%%{G+t`D-#p#2b&K=1a;xPXQd?|$#@+mme>!WsZgtqclrZ3A3O$M zOYo-BmOre9;^U@~P+V!6(`z%It&%~{6vl824gf$uQ?9f6NR z!aJ;mQ$#96d&S;K&`Zio*-J;t9GAT+_fURP;foTTvY?8Fs->EbdaTAF%~Lzev}(0m zblP>h^zP|*!F8q8sL}X}NttP}S^2K(=Is`bEJv)Ste0%o?0`MB1EV9Slc2Mxi;SzH zo7!$|ccVR~9wwf;UTP#cZ&4pUUsgY&Kh}RU;6vbS(DUHFkdDyiu$u6ah@8m8DC1~i z^l(f`Y-pTXJR$yNLS15J(w=0M6o!=Ly^r?Q>_3_sc);Kb(L5+-`p-gcqgSvz*b_Kv+)+FuzJj1l zn4rj{RHNLWYN9?sV^5T(CDN|aP16rBbTM`?J!XEz@_`M@&dwpmsmo=@?Z=bAdzkMG ze}zDUV7pMyj;F$}MHWO?#J)%XNeU?nsV(V`GOuNy$laB%Q#h}9R4Go`L&aECQjJdS zgZiLGt>)34zFIok9NH^7J-X$3srsG*FCO@|$hG>#vf`kiZB(p_ELB;3C5?sG5N6Xc=cN$vT{>pCgR+s{YBXU_M$ zpQ}Ho|LcI7z@#9{VBruXmJUq}^FDJQDIR_Kg8ik-*v0XU3D?(8rrc*JW}m+q zUZ7lxeb2b^_S4K~p05!7_=f=iCwK<6x(q;R1OUP?e?$-SJvKxD z9Ml0Ot`lHr`T&yM_jmok03tkVDgZN>Ge`!f;py=qm|Zc z`a%Xqh7*hwjH!(4Oc6|r%mK`ASOQs=SR+~2+4i$ju@`cPa@^#!;+*B$$IZ@tgU60% zjkk!;gm0a{Qed|ryJ`l3voY^U6i{H($! zB}ADh1Lg#rU>4vs(tr#j>likS20YuRVX83w@D$IBnxV01 zDLQ~|Vddb-ya3ye!^1sC3hpLu6R&~ahwmUz5NrwO2y+xl6zLQrloFH&DW6j*P#vdQ zqPC!}g{R*nni--sv7J_dwwg|mu7sY4zLY_Pp^j03v7SkZ=_a!-a}SFn%M5D_8_HI| zF3bLq!-o?C*D52fMedV4>O60F3;AsMY4{%r922w@ViFqLQ7IfJVkF8T`cdqWc)7$O zNgpXQX*C%O*$BBj`RfWJieHr3Rn%48)l$_fG+I1b>G|mU8-y7q8f6&g znv|GcH+!&a%zV|7XeDNCWaDRh#IDM|$6?8d-dV%N%k`*R%kG6eTpl)_N4y?*<9*D1 zbN$8wqykfddPDG`dSUV5*CXCU2}HZa6vd9lGbGp~o=AF}LbKO$-|_vA4=^5dNh>+D zlwp`zd4%$4WY%1^_wnhR@RJmIm8YHa=?VtU78C`Y*T29~`mt=V;#TFA>T5OaSDw|b zTxV%eYIJE%xOwLG)jOT-10Aos-rf855ci0_kE>t!iNui1u;Pf)bM2S<<7N|flWx-v zv#M_x-%c!?S<+vgdLR2?{bS7P?3&Gb(`S}1k()i=_`k>h=-qCA1b&;~gyY`|W|WSD zIxqy*5l%!0t|{5b4P+ccz$n0$Ka6RBdkb1r8;yi{no%qfYlKb3-o|d?)No0-J8-n` z!k@xV5Tpnxgg%%zNuU^}RHi&fxkVL7^^{tlx`9Rv?mxJRMYR01|IjJYb<#W1FEL~? z3Nqeh@?iSOe38Wfj_p%yI&91A=Q*r7@to~&Tx;`ScpmZ|4mV*l z5iLZ_VuJ59BcwVQNl^}_U@ z7-|^Rm~fcp?V>l&v1GNnU?XGOVQ=D4>qP4u>+;NP=kDq~Ode^T8>A@jcfOH+n*mut zoWWJ03Sl=QR3n?B6=QD1NyV2YvLiZ1`#s;IFQVv&-=#5UlI5Z|Y z-ZkO$dTPpddURHM?);nidC>*8#gwJo<@4_f-yi!Bv*P$sb``fe_^Ei!eVu##`Nrwb zyFP#Z^3SI2=J&5v-z>j_gb{{z^n*e2OF2W0>N0E$UOK~zY`?b5vp z!cYu`;m20NK}0uc!9hV$s;xM6s(Swyi0fy*@ z&%S9mMu7#k*rCQA2OQCauTfzW^#w-nEHFol4rg2Am;fdoMY??9+Siy$C4k6$C_3BcX_hs31j9f{^D4q>zME zLc~CLtoN$d%Xh!~2k!gsF|+nb_`c_P$2-bgd#yRg7;~ z=bGyBqtFwOZaW)rSW0fVnVCb$R9RVbO<7rR^YX&@)a;m;n*#ZPau9sU^db!7RjJCluuL6aRRCqbc=rEK$#I0HU zmhuW1pFcFiAdmsMeN60bQHOZ~&fd)vX6n;ca96v`!Re4LFOZ@eBI1lj29s^ zK5oSsm8;3ZEYL2jKJ$jyiBO|r#zQqnu84C06`EBRZe!-aS!d?&M;?LZy_hJ#FBQaD z31aA`q%wnQeW5Tv`1Py|gX16{{ty%?A%8B~55ffrnr|PA_|x+b@veOkrk`opwH*Vu zG4*B;AX=1gy;(BTF(4lA&WEN}c=6@}3o|=0a-f!7lsyS;wh7`x06w>dWplsz!zl@Y z$2E&9A5P&qfCf>U^`gN}kYr{FSb$WRM|96Y^DzRQC@vf@#o+|*^X>(ZZAd$W3%UGs z2^io?q(9YPLO|ceef)&i5HR<+Kpg_oMKSGiNPS7D>TgzabeSy}?+5zg>rB6e2gr66v5Y-9nBi~pFgUgx=z+tQY zU^{~rX5NC+ZNTPxAa@8i`w-7Zwh!>>t9d%RDzU-ko1BoXseZL^eF|0a84iG$vC;#l z9=GFc>^Q^9E;|mCbM9T?=I$XgFhU`G9uFIUH{nG}985Lg3~#dPybVa9nZ0jv}|Zg@8Y>~Nqv2>jxapfe{q5BnY~uHTg- z!Qr#vZEpUox2id3nBD>cnpT-4w=GcLaE!#jC6F3jB>Tv#1{8keXt-&#t!6sZ5Lv)U z@d-fgXw|ZBcX2;Yhj2*nKm_Mk#N87e>D5%Lt6*gsb6C#et>P_q)KRW%9>Sfdp@;V< z->cnAVprUi=?`DluHy0pI}!ZA%^z%l2NFS110e@|j0Ov?m7StCA*>EaB}7mFRil~& z=I}iNm!)apwml3FKA86va5%)j^!f{1*M0}H0g?+DgCy&#vY>$LkBbHeX_oz1#2C9I z8p3_gT_iZl{!C^Yr5#nRsf}p{4~=_}34f|zf~sz@^Rc@Ku-xMia~TBJw=aObZX5^C zLAa{q>B#A!X&4lMc?B-N2x6iyA0N2ussDWS1ftszKz#;Qfdsf7qxku^Q}d%4Tn>x> z;W3aP{p@chdmLd~^?)cqf3j%dwsBR3oWoJr2@oELpZ}5%Rzzl}47QDq*F@z8W7zsN(91Dkw$%ABbW=jx& z)9vLZ5^$eUfCf{iw()_Ne*mQHXPJk-f7IvW}eYrJsTR{^rYIesCQE>~T2;v3YNm zW>_u|wi%a}V#_J;=mIzZtgf@sfjx-3m|tbvsGTT@GAUmi=Q7#K&X=BdbmBQoN$_0; zt9MvHz^avCHQam{%q5r>UI0%+oNJvc99I79_qC`$EJwAUV0J3e z#(89@wlBW;@pPa zOR<3gL3&vHrU7`KdI?-F4zJ+ZV|CMXhRO&yPO}WKc;*5sVcJl+SiE9{O;zJfwrDDm z_!<-+0{rzQQ|)8Y5V*>TOv#|er4ees#~IQJ*sQDvGoD-~*QgJ)vk{7~K2{&S(mgIC z!dw{(5f0(G*6j#VeKb*}R>4E*-d!?}m>!~GKVv*&V{HPyYB(9;duv8*yH8%}yY+VC z23P-8%mvSxI->Hz!(#!shEEZ24isQ;QnWC;u2hZiaOicJ1&Nv7>l2D(a97lS{^-~nuqNs*KL*8P2;dYp_Ccj*z9A9t z5lC+5Do;wmwd0xzQFniM~-Ko42bVla$fwv)N`PoDy1LJCc-Vl$M?h>h_JDz~jeGiWkG^;9~yl!ngh z?_PYR(&A6Y)xtLQZp%BmcI504# z4n#ZH@4sElhEglHbSZSY_?%qzRklC%jHQi^djsIZEeiOh^)OaB(PVbMYNE~5e|+tJ zeuO>~3G8}`E)+H71)T-qC4E!8r2*2m#wGR6_JaNDL4vB7^H0=AG5-{RpAx+P$e&($ zBL((~eeE#M5nzi4pnzRc7AZD&H8AD`vS9&AxP3X1Iwt3{Z-E#Nb}{t?zuXSp`i^s| zS_WHe-2eiDJo>uZo4E%#otiMv(Nc?RZ$po&85StE(CL}}u=TBaLbR3#XOwX|Qu4#dh7m!pj0nJau zM5Wb3O)>Rc%mE~}6_oGq3B$C9Fqk+K@^@`8Ce5tHb!$)G`>s z88M-P3(s&87F=jj2%D))^%=~MURnb;@C@Q?;(Se~QTLR&`U<#(5%n}!K-PepgRPk0 z%7p8$Cy2Mnj?wql~Dr86gHv>2OFz-qXq zfM$7TCa8jE#8K8eAR>2g6*>w6aBl#eN%RNvSa9YrF9)PyPb{iGzw#nDN6k1Rc}a$r zK6zM-e?0jUF&3(JMyAB%O@SU!V0Y6?4c=#uXK5pxG_Wm-4IudZ8%r7enm5VX`q*p! zJ%(3axI~!yK}c(lQ%>$Wj4RKnM%tT~E5Oy7#e|ldwvrY<5~P_h*js#A3dXFV&mS8w zO-|x`_4Fo*4W77Dx?epM?$Nu;JrO^r(!<4`RVM8<`SFf1z5~S$4;u&N1k|QMv3VxSSd4!?z-Iz8XPyJEq=T|^`uyW18pT~U z$LGuifI9hMpvY7OcrAhYYVI3$A}`o30L|=gpMD8iFxM0qA=ZUg<{Vdf>Q0nc^fLi7Ais=!s z0XQ>33G2!%W*kK8ovhBhS*Q)ch=p*gj+*v6$2%H9i@QmF;Zws~sR=XTH{Pjp;+86g zoO=w!3j~>>#ze7C0k2lkVD6cS;ym%kYn@>9i&H+&Uh`I;l$dZ(mD*jWA9L>Q=!p-T zWd;K(K(pF)&9L%EnY#S2O7NaGk^zgW68M#0d3Qe=wuhYr64_+#F|(6U^*ta{y_x7i zpB3=+-+*qvO>+(c@JfJZA?(0_cXYDt~$VyOAXl8e%Ud zw#KzUbyf4wWIfM4nC;OWSgcO0*__%_k07cy{{5*s9c>W+vO+~i7nB$L^VJtww3Vtr zFw4zbHTCid02j9kG31Ib%-!d!1+w`rNv*aX;Vi$3I#n=jgu6t;r_YMXR#wT_gvq_V zFrfl+1(*pAvjS}oO3YnU8ymy{!Wrn@n|TMpK2+OQpEx54Dh=C>z8P!dYTq!48j_e9 zTb9_y>CbOJ?HJF3BoEJA`bmX4Zs33P!~&fy2*BNP&{7|J{YNnTAbk3`J;(}A5 zLD^!fxxO9OI^Nw)YRsf#c<~66r;;SW)Vv`sYeGD5 z(;jGsozJBL?FFJWwuw|%t4AhBnfCs?9+yq%H<;PG+QZti5TW>MFMxS-mBM^*` zgFH4{n%WgGE7|4%>k5Qf?CPMBA>MWp(m1YbmdUr4z}R58Z*Jo{obs$P&+*M%^`>HG z_PJd&aN`P6x1iOln_2qfd&O>XoFu@qIE$%qgRh&|+}HeUp}pEN>O%;*W^%(A_;C%q zH=u6E533wz%K+O>y(T1};&49vK8QK$f~ar^lQUn~{Kf0gF(DvsByPB+)|to}=;Gl^ z_j5~G^GxFTq-FriY5a&6@8e(r(!eBVu{G3QVe(WTs)7`#ieP{#9ULw)^!30nEj0hi zv;PWQT zS2?hr$&Y5EjLI;0kO!QH=E6w0^;6!(D<&?<2fFEqTT?#+3(M#3-%90aXH`>T{5Nx$ zGgYA3P0kfq6cx;Tl-GE2vDJJrWlB7=Tl8TLgJb-|*gA}xzjT(dIkhP9(gJ7s$+BMG z+>amFl^FL-mzX8HJnC=!*v`kMFVx#APo-#einkmJ=b_1`q)cXPG(sQ7QPp1(EB~0A zLBN3z-VuAIObf&K?5CiK+CjBl$1Ay7foD`{fmnXbn1Ivyf}a7FIeV|p_R=x&HD-p2 z?%KYF)H%fX5U!59g#G2`83C?VS60IY*q()utFJbIO|^w1_&={aEe7{bix!5#oi{gN z{`X(qFHsNHtc*81jP|8AaoMi`QwoH}+Sfsye(~C4P;9Z#FMsu|8pZ^xP%i0f&f)$r zs<*hH@^yBQIS*riEx#|OdAsO^V$uJ8^i3H35UyP59V8#3rUmQMXPCKlW&+?C z;O-m`u1*hW_~^Jq!2FEm5_|M8SbsgKKgxS#Iyk5Kpjjny4ngluo*b z&H&n-R;A)B(+WT|_(0Y!$-sUQ7=Ka@<|brrX$M@|^#0GxdAkT_5Mb}QpdMPpaY3ss zbS6IqZ05(*u_)Xq1(4E?La@K77{M_->0=uVt#w(P$r!|r&xq~|FfGV18u1y64TSNt z+mPK|5H}}~GbtL}!@C5DtD1Pa?!dTy1bra0GI$TGd?oR#MKxJp@{vD#?f1=IJy`Yp%rr7PMNf#&cT#dh88T5(=0U3Q*808oWMr zun*Oc!(OT7<)=-Lf(MjB!dX4v3D)&9J|7rvIQ2XauL2&FHY?1O4#G=}KVJr27~BhH zB4Z#x#enaE>2O4#9qO!GjQcc4$vObKMUKU*w8y?3_OM6|^A4v@axZ`nN0Uz6shz zFedg6d$8F!NvX z{*wnrKYv1k!cK=B*t42{?Qxj=qf|kAYU1Q3jQ%|R=@;r*Wxz*mV#^41cJZn4xvZNY zfpg91JpUk6AmqyTYh@rm6j~1%TxgL9d%WkMj)?}M3q^x1ncTlV{nL^ZrgV=_3QlGN z0h|YmtU>Js#~@wR?PFS$De#2&K>Q2&XaV1{03Qt$C5hHJjfVg~r=eZ54jbxq$!wcT zoIPGwvCeh^b{0SevB4oz#%@|nmB?;!rRrY3Wy2tRxdUks)$68;AT~YCPa1#GA;p`o z2Crrip!#I#(xY(L81dyYkYZf`gYCDamTXW5vWy$QB#8;m(ury4+Y{r;+t7S}*OsZ7 z9{MXcSH$0ceQgG6*MXT}^)0wl9CB1w!XAR8Sr(`zFT<;XH1Bab!S)=4)Z~F~yuh>a z(~}i99*5@LV>|xvFcddlB?Mrb0k$mt`3F?bhkL=xVGUCt1O5q~vFZ7DH3!1LcD?8d zQ9OXy5$@uGOT|*>M%s)eH=gNz;q$?La)E8QUwLXhP$4})$+E* zcePDEyK&&JPrTS+{5g`5@T(6X5P$O*`A~pW^{wx*jT-4^{>Pgq-%|bA_%SmA*oxZN z;fjHa-vq_jiSzewy~#oYr=K5CN6iYnqMr0%i3i0)H>iW};@jo^aA!X_E`y%``W5$$ zZykdY>UVLsP_4xeWgkfakLEYXC^(*Vp84plLN@R{xby@9m%lGj9+=ja+2ES$DZX}r z>pUBnwh_pc=T%?wv=*d`;vqCIW|SICFXNruf_N+l3ZRnaKrAZ2=S7Jrob1pqh7(j9 z*C@!SRV6C2Mu7c)z;*-JELMV6ezihw;cmqy&=`Z)cArVd!D4PIv#iUP_ z4l^g#L7atZey^jj1w0Jd^FYR@?|$^=8jSNVN#M|5u7z&q2O?NEP#4#z^22SfK^aI7Ufh5#H)hxw2oUGWT{p5{PPdmd*E_R;Mq4V26r*10tBc7$gBxY#zdDy%Rhay zv}8R~oXB)GbXbl$wP5!!nM>m`Ty^1RFg{n$u-|~A9wX!689y=2f}qtdF#f_H=N1R? zknuFAbH4}O>8ISTNY3lb^Jd^8bqc~{b$NEPc%ME30#dRQ%)$nz7sOL12%H+$6(|vv zReLa^PR)bezU6yI6#1sWl-g|>PCryjR%!# zKF<_;zVQV$nstvcd)QZrJ^jYTZ{_p+6gbkH;!FT8&j3m8+t}EfyzzV|?7VfR1ISh# z;0wEzbD58CXfWuSy*t>o`EB{bV9W82V#>=c|w$*0Jsm? z!R<5L2PsJ)0Z%sW$T+)|>{dq$N9G&Yff#!T+FL?kE&{mlO;94|$6o4#+=CPzcR)!E zze`$2`+z6UKh3MTy(MJ0oP@kUTb0dv$F!I_1hTY%L9<+W{B=O$@BBT7$5O>iU;we*q1IIJNL;9Q8W?g2cdK z?doue4uHq%BuC4j%20s6x2_E6=7*K5|&Z_YXcB>21TO^^Xa)(v1z`0`CL)ojPS*WVkE#7=?cGl{EPtmE) zhMCgt@7dMTug(JmJk%Q!CX?o%0}0aoSr!eEtm08-17OMo*-$)m*<}EmDQBL;BQBhl zhDBIiQ~Ntm zZ7x(%wtev2pj|lUf9*j>JruwqFYr^JzjIeY_Yg8>1zMnHFpT+ zA?7H~7LPE1^9M@SN}3Khoe+qPdKPcP{s0V&0}~LwOSikk2Y0EyJO2wfT(pLfIOe=J zZF|bBQx(n}0f+QHxnz+m(-5jzVniE%=xmEEa1X-Zb0Tc#n@?8DD7((kK36pK!6T-* z$n>V)%Yc^ zN5a0MoGn&W+rYo{O9=*wN=svh30SHlnpYCzYZ0Yq@~k&ObG)bT*d`|u4*~Al+tKcb za9W97v+OHQ2k5@`h!{N_XC7JXjjCSoG9-PR6Ul}M7-Ma}ih>?1SNlE0M|sLuuX6Lm zTdqvzCfTf9`lejJqGS62{#HCKfMQmLM~O=#55jc_bFtqZ9N@R&0?V_AXZ5+?f;eae z5jZ9%PqwhS(Todfp;9mZR#m%Ua|V8TXxh>dXBgv<%RH+APO+xJ04{a|vB#EGHHKkx zv&EJ;f`NWf;EZauOZY(`f(`rr>*55e6)kUxPj_S>Cd1UfDTsJNCe7HGlg9Tp3_-Wr zM7Lk%&7GMHbKYKcd_@P_3Gh}K^oX=>*^NOUa8(9OePXtR2*sZ-Gy(VDneVdx4iMw_ z87`bRxbc$nFq>az`~wEtDBLw7hehs!@TlnbwFCQIeGSZMWJ2!RF7SD6atla98mxBl zh7a!iLX(9l9T@tLU*G?ZZIPlCe3wHf7_&xvqSp;an_ zu(wBJwQ(3j;_N^bWpIJ+tRoYtCR}Fx2P;)vgbj@ z)G=cM-hETdVx){-CSN zEtbGxHvUT6?eBj0#x{GHz0EoUe0q5!a}qI_$zlmuVAEGBIQ5Ozy)0|Yy2|pvoj>tq zAez8=IYIm(fZG~~YXFSDB;kMV0r7YymU3h7LwKv8A{GTOtv`LM^2^7We7%f-n`%IO zh(4k{dJKB-D2V;mIC!VN>0}g zQySE-UF0TK&PphZ`e_fa9>RkfU={@2PC#K;Zf-I28dQAd)qfvx}hPs{eG^ZurAxj+fXtgVB5v-H}&ef_Uhl|gY$an#?*(xVJ6awO- zB0GJ+YNs<7mmUD|=`9c|$T)<%pfn*HTzlnrVAXh&FadK&CxqWE1YS^%?PAZ};vE4l z+|+Lp1GCI~`a4^StBR5_t0K{02eG&{mLYbxpLK6y+JGIsXyHB0N!`y%(wwM}f*a3< z#x6DI^W$8Z2JWY-QnPFKNkknSvDQIfe(mQK_CXsG?h}=fc;N)B81dBB7AKdFUby{E zInxVlHi0r{ox}q(JL=GhgvlkT#@ygp*z0!`40QbMg$G$XC)K5DoiR)K&1HPB^|_ZT zZCD_H?ZXdiU~`Vta?_40lc1s6Cir*@*yYdK`1RMmKEtDd z*|UV?gj>jfQsSgSsSoJ4VV{3_T?Rfn!4(;QK3@W0wY4-qo}Vm-SWC$Gn>R33f+PrL zRlOlW5H3RXIv4rhf$O%;TpfvrRtxll$z&GIr?x@~B2@=!0Wo^`sFh&uaY0-KU$bhZ z=Y9bDvsajvBvxV7juni67=M`xdI|zWLySLU?8MGUfb2PEkF(3_Zau{Qn*OgJuU5u0 zX9&Ut_;Jo5UUMBxL@Y#CVEmD%eLZY|*Yz3y_q;OYL8)oj^%t>KS6ComNmP`4xpOl&wh07M^%IQ8$R$74w#Zs z)@_0nWZqd0bwJq7!=66?2?jI^hB~CU8BaeW1H6wxOktHM_RCHjD4&POnvCs;n!9Tw zBlgMnWB|+tSC_@WjM9OaIm>{+ooVPi828mYb$uKEf#NA z;`4>j4qf61d+y$Rh|M}v8Ww%ycjmAXSqWF3-@y=|-1e?dAX4bMz#M9rVqWHDDF2DgnlS0z7u6?>#a0@oge_T*g)Eb_oR9=BguR5QslL%{OV z{mk7KXU@cVF6tNO8eypYXtI`JYUpB#fO?4MCR;{lrw(T3!HTy#_m0K9rH+#U<{;e= zrd(|(Yg5bES0UU2+2zs5y*B=1`ZUc5;b|P!QOEvJow8~mk=a7W$Ra3$|+TRTo2m#RtMaI989fi$< zNyDO8GiB;*;Vp(qJJy-GcI-ShnH9UpD@(1NQvuk8hoKG`juc6p2Xu9jC72c9tfqK0 z@~!}v4>*g`_=s3TTcXqRlrgBLiZDADXcGnID`LoJ@Eb8_9#4Cj?^f1=(ipfdO?Cz^dgkwjo=p@Gvd1@BDZtoWsz=$(Dc< z*Bz?nepgG%IP0$=LoCxuQ(S_%obZwreI66ix?Tvjo0aPlEIM6}REaITao7>t_@9Dk zVcul%{M%r4IJUy%+5t6VH<;nMpmvCtuCbms9qDr6d6ftO8uzAIH!d>@!k#(zqL=4q zzvsmEAhC&T1Ai|NFiZWnr%ud^3qJK+GuUS=d!-9nJzpCwg4NpT?mWD&g~p=P*5Q0j zRmmMw)kre_bH-u;Mi(HyT&L2|pwX8q>ZmyNGan7kto zD9%Dq2UV+iFnGYTt}F%<05ldb3yzzCDz9+(C^IG!*fRce_~yVkx8s1_oxwZW0 zBc|1dz)f{fSM!XH<(s7u0)*_x^Tk&>s%n&LCGk)wZpxaHV09%NFBcgU=ClP@o`H^m zB=OO%rTyR;NJu^XG)N{Szdbfj-HXaLlu6OhS8var^)Kn>&rR~^5mFA+oZ441eYx(kjw^^L_g zH9fe>Dv>L*ojBnP_A3p4?k{F3$}MWw_+J)eak~aV_?5300#xj}|M|zyPQxnYV+8I{ zT?d*Aqlg(CKGMdvu!SVsZL7i{*bIcstrN5ea_I3RhEZ~DD zL~G26dij8CF8;_d*Hm6kev1`iec6SALx1JtnY^%|#bIpl%ES2Vb@6n>4eUVny1cwNSNx}SW;GR!ytH%>^#1{DYfAnA diff --git a/app/templates/client/app/index.html b/app/templates/client/app/index.html deleted file mode 100644 index 0980f12..0000000 --- a/app/templates/client/app/index.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

Login with demo / 1234

-
-        
-        $state = {{$state.current.name}}
-        $stateParams = {{$stateParams}}
-        $state full url = {{ $state.$current.url.source }}
-        
-      
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/templates/client/app/robots.txt b/app/templates/client/app/robots.txt deleted file mode 100644 index 9417495..0000000 --- a/app/templates/client/app/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# robotstxt.org - -User-agent: * diff --git a/app/templates/client/app/scripts/app.js b/app/templates/client/app/scripts/app.js deleted file mode 100644 index 4ff7176..0000000 --- a/app/templates/client/app/scripts/app.js +++ /dev/null @@ -1,226 +0,0 @@ -'use strict'; - -/** - * @ngdoc overview - * @name clientApp - * @description - * # clientApp - * - * Main module of the application. - */ -angular - .module('clientApp', [ - 'ngAnimate', - 'ngCookies', - 'ngSanitize', - 'config', - 'leaflet-directive', - 'LocalStorageModule', - 'ui.router', - 'angular-loading-bar' - ]) - .config(function($stateProvider, $urlRouterProvider, $httpProvider, cfpLoadingBarProvider) { - - /** - * Redirect a user to a 403 error page. - * - * @param $state - * The ui-router state. - * @param Auth - * The Auth service. - * @param $timeout - * The timeout service. - */ - var page403 = function($state, Auth,$timeout) { - if (!Auth.isAuthenticated()) { - // We need to use $timeout to make sure $state is ready to - // transition. - $timeout(function() { - $state.go('403'); - }); - } - }; - - // Now set up the states. - $stateProvider - .state('homepage', { - url: '', - controller: 'HomepageCtrl', - resolve: { - account: function(Account) { - return Account.get(); - } - } - }) - .state('login', { - url: '/login', - templateUrl: 'views/login.html', - controller: 'LoginCtrl' - }) - .state('dashboard', { - abstract: true, - url: '', - templateUrl: 'views/dashboard/main.html', - controller: 'DashboardCtrl', - onEnter: page403, - resolve: { - account: function(Account) { - return Account.get(); - }, - selectedCompany: function($stateParams) { - return $stateParams.companyId; - } - } - }) - .state('dashboard.byCompany', { - url: '/dashboard/{companyId:int}', - abstract: true, - // Since the state is abstract, we inline the tag. - template: '', - resolve: { - mapConfig: function(Map) { - return Map.getConfig(); - }, - authors: function($stateParams, Events) { - return Events.getAuthors($stateParams.companyId); - } - } - }) - .state('dashboard.byCompany.events', { - url: '/events', - templateUrl: 'views/dashboard/events/events.html', - controller: 'EventsCtrl', - onEnter: page403, - resolve: { - events: function($stateParams, Events) { - return Events.get($stateParams.companyId); - } - } - }) - .state('dashboard.byCompany.byUser', { - url: '/user/{userId:int}', - abstract: true, - // Since the state is abstract, we inline the tag. - template: '' - }) - .state('dashboard.byCompany.byUser.events', { - url: '/events', - templateUrl: 'views/dashboard/events/events.html', - controller: 'EventsCtrl', - onEnter: page403, - resolve: { - events: function($stateParams, Events) { - return Events.get($stateParams.companyId, $stateParams.userId); - } - } - }) - .state('dashboard.byCompany.byUser.events.event', { - url: '/event/{eventId:int}', - controller: 'EventsCtrl' - }) - .state('dashboard.byCompany.events.event', { - url: '/event/{eventId:int}', - controller: 'EventsCtrl' - }) - .state('dashboard.companies', { - url: '/companies', - templateUrl: 'views/dashboard/companies/companies.html', - controller: 'CompaniesCtrl', - onEnter: page403, - resolve: { - companies: function(Companies) { - return Companies.get(); - } - } - }) - .state('dashboard.companies.company', { - url: '/{id:int}', - templateUrl: 'views/dashboard/companies/companies.company.html', - controller: 'CompaniesCtrl', - onEnter: page403 - }) - .state('dashboard.account', { - url: '/my-account', - templateUrl: 'views/dashboard/account/account.html', - controller: 'AccountCtrl', - onEnter: page403, - resolve: { - account: function(Account) { - return Account.get(); - } - } - }) - .state('403', { - url: '/403', - templateUrl: 'views/403.html' - }); - - // For any unmatched url, redirect to '/'. - $urlRouterProvider.otherwise('/'); - - // Define interceptors. - $httpProvider.interceptors.push(function ($q, Auth, localStorageService) { - return { - 'request': function (config) { - if (!config.url.match(/login-token/)) { - config.headers = { - 'access-token': localStorageService.get('access_token') - }; - } - return config; - }, - - 'response': function(result) { - if (result.data.access_token) { - localStorageService.set('access_token', result.data.access_token); - } - return result; - }, - - 'responseError': function (response) { - if (response.status === 401) { - Auth.authFailed(); - } - - return $q.reject(response); - } - }; - }); - - // Configuration of the loading bar. - cfpLoadingBarProvider.includeSpinner = false; - cfpLoadingBarProvider.latencyThreshold = 1000; - }) - .run(function ($rootScope, $state, $stateParams, $log, Config) { - // It's very handy to add references to $state and $stateParams to the - // $rootScope so that you can access them from any scope within your - // applications.For example: - //
  • will set the
  • - // to active whenever 'contacts.list' or one of its decendents is active. - $rootScope.$state = $state; - $rootScope.$stateParams = $stateParams; - - if (!!Config.debugUiRouter) { - $rootScope.$on('$stateChangeStart',function(event, toState, toParams, fromState, fromParams){ - $log.log('$stateChangeStart to ' + toState.to + '- fired when the transition begins. toState,toParams : \n', toState, toParams); - }); - - $rootScope.$on('$stateChangeError',function(event, toState, toParams, fromState, fromParams){ - $log.log('$stateChangeError - fired when an error occurs during transition.'); - $log.log(arguments); - }); - - $rootScope.$on('$stateChangeSuccess',function(event, toState, toParams, fromState, fromParams){ - $log.log('$stateChangeSuccess to ' + toState.name + '- fired once the state transition is complete.'); - }); - - $rootScope.$on('$viewContentLoaded',function(event){ - $log.log('$viewContentLoaded - fired after dom rendered',event); - }); - - $rootScope.$on('$stateNotFound',function(event, unfoundState, fromState, fromParams){ - $log.log('$stateNotFound '+unfoundState.to+' - fired when a state cannot be found by its name.'); - $log.log(unfoundState, fromState, fromParams); - }); - } - }); diff --git a/app/templates/client/app/scripts/controllers/account.js b/app/templates/client/app/scripts/controllers/account.js deleted file mode 100644 index 00293bb..0000000 --- a/app/templates/client/app/scripts/controllers/account.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -/** - * @ngdoc function - * @name clientApp.controller:AccountCtrl - * @description - * # AccountCtrl - * Controller of the clientApp - */ -angular.module('clientApp') - .controller('AccountCtrl', function ($scope, account) { - $scope.account = account; - }); diff --git a/app/templates/client/app/scripts/controllers/companies.js b/app/templates/client/app/scripts/controllers/companies.js deleted file mode 100644 index be93fb0..0000000 --- a/app/templates/client/app/scripts/controllers/companies.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -/** - * @ngdoc function - * @name clientApp.controller:CompaniesCtrl - * @description - * # CompaniesCtrl - * Controller of the clientApp - */ -angular.module('clientApp') - .controller('CompaniesCtrl', function ($scope, companies, $stateParams, $log) { - - // Initialize values. - $scope.companies = companies; - $scope.selectedCompany = null; - - /** - * Set the selected Company. - * - * @param int id - * The company ID. - */ - var setSelectedCompany = function(id) { - $scope.selectedCompany = null; - - angular.forEach($scope.companies, function(value) { - if (value.id == id) { - $scope.selectedCompany = value; - } - }); - }; - - if ($stateParams.id) { - setSelectedCompany($stateParams.id); - } - }); diff --git a/app/templates/client/app/scripts/controllers/dashboard.js b/app/templates/client/app/scripts/controllers/dashboard.js deleted file mode 100644 index f5e4b18..0000000 --- a/app/templates/client/app/scripts/controllers/dashboard.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -/** - * @ngdoc function - * @name clientApp.controller:DashboardCtrl - * @description - * # DashboardCtrl - * Controller of the clientApp - */ -angular.module('clientApp') - .controller('DashboardCtrl', function ($scope, account, selectedCompany, Auth, $state, $log) { - - // Initialize values. - $scope.companies = account.companies; - $scope.selectedCompany = selectedCompany ? selectedCompany : parseInt(account.companies[0].id); - - - - /** - * Logout current user. - * - * Do whatever cleaning up is required and change state to 'login'. - */ - $scope.logout = function() { - Auth.logout(); - $state.go('login'); - }; - }); diff --git a/app/templates/client/app/scripts/controllers/events.js b/app/templates/client/app/scripts/controllers/events.js deleted file mode 100644 index ca5df47..0000000 --- a/app/templates/client/app/scripts/controllers/events.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -/** - * @ngdoc function - * @name clientApp.controller:MainCtrl - * @description - * # MainCtrl - * Controller of the clientApp - */ -angular.module('clientApp') - .controller('EventsCtrl', function ($scope, events, authors, mapConfig, $state, $stateParams, $log) { - - // Initialize values. - $scope.events = events; - $scope.mapConfig = mapConfig; - $scope.authors = authors; - $scope.selectedAuthorId = null; - - /** - * Set the selected item. - * - * @param int id - * The event ID. - */ - var setSelectedEvent = function(id) { - $scope.events[id].select(); - }; - - /** - * Set the selected item. - * - * @param int id - * The event ID. - */ - var selectedAuthorId = function(id) { - $scope.selectedAuthorId = id; - }; - - if ($stateParams.eventId) { - setSelectedEvent($stateParams.eventId); - } - - if ($stateParams.userId) { - selectedAuthorId($stateParams.userId); - } - - // Select marker in the Map. - $scope.$on('leafletDirectiveMarker.click', function(event, args) { - var stateName = $stateParams.userId ? 'dashboard.byCompany.byUser.events.event' : 'dashboard.byCompany.events.event'; - $state.go(stateName, {eventId: parseInt(args.markerName)}); - }); - }); diff --git a/app/templates/client/app/scripts/controllers/homepage.js b/app/templates/client/app/scripts/controllers/homepage.js deleted file mode 100644 index 2fcaf11..0000000 --- a/app/templates/client/app/scripts/controllers/homepage.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -/** - * @ngdoc function - * @name clientApp.controller:HomepageCtrl - * @description - * # HomepageCtrl - * Controller of the clientApp - */ -angular.module('clientApp') - .controller('HomepageCtrl', function ($scope, $state, account, $log) { - if (account) { - // @todo: Remove parseInt()? - var defaultCompanyId = parseInt(account.companies[0].id); - $state.go('dashboard.byCompany.events', {companyId: defaultCompanyId}); - } - else { - // Redirect to login. - $state.go('login'); - } - }); diff --git a/app/templates/client/app/scripts/controllers/login.js b/app/templates/client/app/scripts/controllers/login.js deleted file mode 100644 index 02f286e..0000000 --- a/app/templates/client/app/scripts/controllers/login.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -/** - * @ngdoc function - * @name clientApp.controller:LoginCtrl - * @description - * # LoginCtrl - * Controller of the clientApp - */ -angular.module('clientApp') - .controller('LoginCtrl', function ($scope, Auth, $state) { - - // Will be FALSE during login GET period - will cause the login button to be - // disabled. - $scope.loginButtonEnabled = true; - - // Will be TRUE after failed login attempt. - $scope.loginFailed = false; - - /** - * Login a given user. - * - * If everything goes well, change state to 'main'. - * - * @param user - * Object with the properties "username" and "password". - */ - $scope.login = function(user) { - $scope.loginButtonEnabled = false; - Auth.login(user).then(function() { - $state.go('homepage'); - }, function() { - $scope.loginButtonEnabled = true; - $scope.loginFailed = true; - }); - }; - }); diff --git a/app/templates/client/app/scripts/directives/loadingbartext.js b/app/templates/client/app/scripts/directives/loadingbartext.js deleted file mode 100644 index 1894f13..0000000 --- a/app/templates/client/app/scripts/directives/loadingbartext.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -/** - * @ngdoc directive - * @name clientApp.directive:loadingBarText - * @description - * # loadingBarText - */ -angular.module('clientApp') - .directive('loadingBarText', function () { - return { - restrict: 'EA', - template: '
    {{text}}
    ', - controller: function($scope) { - $scope.text = 'loading...'; - $scope.isLoading = false; - - /** - * Indicate a loading is in process. - * - * @param isLoading bool - * True to show the loader. - */ - function setLoading(isLoading) { - $scope.isLoading = isLoading; - } - - // Events to set the message when start the XHR request until is completed. - $scope.$on('cfpLoadingBar:started', function() { - // Set loading progress bar upon HTTP request. - setLoading(true); - }); - - $scope.$on('cfpLoadingBar:completed', function() { - setLoading(false); - }); - - }, - // Isolate scope the directive, and avoid read or modify data from the parent scope. - scope: {} - }; - }); diff --git a/app/templates/client/app/scripts/directives/spinner.js b/app/templates/client/app/scripts/directives/spinner.js deleted file mode 100644 index 27434c7..0000000 --- a/app/templates/client/app/scripts/directives/spinner.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -/** - * @ngdoc directive - * @name clientApp.directive:spinner - * @description - * # spinner - */ -angular.module('clientApp') - .directive('spinner', function () { - return { - template: '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ', - restrict: 'E' - }; - }); diff --git a/app/templates/client/app/scripts/services/account.js b/app/templates/client/app/scripts/services/account.js deleted file mode 100644 index 5e957d1..0000000 --- a/app/templates/client/app/scripts/services/account.js +++ /dev/null @@ -1,100 +0,0 @@ -'use strict'; - -/** - * @ngdoc service - * @name clientApp.account - * @description - * # account - * Service in the clientApp. - */ -angular.module('clientApp') - .service('Account', function ($q, $http, $timeout, Config, $rootScope, $log) { - - // A private cache key. - var cache = {}; - - /** - * Return the promise with the events list, from cache or the server. - * - * @returns {*} - */ - this.get = function() { - return $q.when(cache.data || getDataFromBackend()); - }; - - /** - * Return events array from the server. - * - * @returns {$q.promise} - */ - function getDataFromBackend() { - var deferred = $q.defer(); - var url = Config.backend + '/api/me/'; - - $http({ - method: 'GET', - url: url, - transformResponse: prepareResponse - }).success(function(response) { - setCache(response[0]); - deferred.resolve(response[0]); - }); - - return deferred.promise; - } - - /** - * Save meters in cache, and broadcast en event to inform that the meters data changed. - * - * @param itemId - * The item ID. - * @param data - * The data to cache. - */ - var setCache = function(data) { - // Cache data. - cache = { - data: data, - timestamp: new Date() - }; - - // Clear cache in 60 seconds. - $timeout(function() { - cache = {}; - }, 60000); - - // Broadcast a change event. - $rootScope.$broadcast('gb.account.changed'); - }; - - /** - * Prepare response; Convert ID to int. - * - * As we explicetly require ui-router to match an int, we must case the - * entity ID to integer. - * - * @param list - * - * @returns {*} - */ - function prepareResponse(data) { - // Convert response serialized to an object. - data = angular.fromJson(data).data; - - if (!data) { - // A 401 response was sent. - return; - } - - angular.forEach(data[0].companies, function(value, key) { - data[0].companies[key].id = parseInt(value.id); - }); - - return data; - }; - - $rootScope.$on('clearCache', function() { - cache = {}; - }); - - }); diff --git a/app/templates/client/app/scripts/services/auth.js b/app/templates/client/app/scripts/services/auth.js deleted file mode 100644 index 1defe8a..0000000 --- a/app/templates/client/app/scripts/services/auth.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -/** - * @ngdoc service - * @name clientApp.auth - * @description - * # auth - * Service in the clientApp. - */ -angular.module('clientApp') - .service('Auth', function ($injector, $rootScope, Utils, localStorageService, Config) { - - /** - * Login by calling the Drupal REST server. - * - * @param user - * Object with the properties "username" and "password". - * - * @returns {*} - */ - this.login = function(user) { - // Service 'Auth' can't depend on '$http', hence injecting it manually - return $injector.get('$http')({ - method: 'GET', - url: Config.backend + '/api/login-token', - headers: { - 'Authorization': 'Basic ' + Utils.Base64.encode(user.username + ':' + user.password) - } - }); - }; - - /** - * Logout current user. - * - * Do whatever cleaning up is required. - */ - this.logout = function() { - localStorageService.remove('access_token'); - - $rootScope.$broadcast('clearCache'); - // Something went wrong, change state back to login - // Service 'Auth' can't depend on '$state', hence injecting it manually - $injector.get('$state').go('login'); - - }; - - /** - * A user is logged in. - */ - this.isAuthenticated = function() { - return !!localStorageService.get('access_token'); - }; - - /** - * Authentication failed, set state to login. - */ - this.authFailed = function() { - this.logout(); - }; - }); diff --git a/app/templates/client/app/scripts/services/companies.js b/app/templates/client/app/scripts/services/companies.js deleted file mode 100644 index 56d3a63..0000000 --- a/app/templates/client/app/scripts/services/companies.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict'; - -/** - * @ngdoc service - * @name clientApp.companies - * @description - * # companies - * Service in the clientApp. - */ -angular.module('clientApp') - .service('Companies', function ($q, $http, $timeout, Config, $rootScope) { - - // A private cache key. - var cache = {}; - - // Update event broadcast name. - var broadcastUpdateEventName = 'SkeletonCompaniesChange'; - - /** - * Return the promise with the events list, from cache or the server. - * - * @returns {*} - */ - this.get = function() { - return $q.when(cache.data || getDataFromBackend()); - }; - - /** - * Return events array from the server. - * - * @returns {$q.promise} - */ - var getDataFromBackend = function() { - var deferred = $q.defer(); - var url = Config.backend + '/api/companies'; - - $http({ - method: 'GET', - url: url - }).success(function(response) { - setCache(response.data); - deferred.resolve(response.data); - }); - - return deferred.promise; - }; - - /** - * Set the cache from the server. - * - * @param data - * The data to cache - */ - var setCache = function(data) { - // Cache data. - cache = { - data: data, - timestamp: new Date() - }; - - // Clear cache in 60 seconds. - $timeout(function() { - cache.data = undefined; - }, 60000); - - // Broadcast a change event. - $rootScope.$broadcast(broadcastUpdateEventName); - }; - - $rootScope.$on('clearCache', function() { - cache = {}; - }); - - }); diff --git a/app/templates/client/app/scripts/services/events.js b/app/templates/client/app/scripts/services/events.js deleted file mode 100644 index 68fe2a4..0000000 --- a/app/templates/client/app/scripts/services/events.js +++ /dev/null @@ -1,192 +0,0 @@ -'use strict'; - -/** - * @ngdoc service - * @name clientApp.events - * @description - * # events - * Service in the clientApp. - */ -angular.module('clientApp') - .service('Events', function ($q, $http, $timeout, Config, Marker, $rootScope, $log) { - - // A private cache key. - var cache = {}; - - // Update event broadcast name. - var broadcastUpdateEventName = 'SkeletonEventsChange'; - - - /** - * Return the promise with the events list, from cache or the server. - * - * @param int companyId - * The company ID. - * - * @returns {*} - */ - this.get = function(companyId, userId) { - var cacheId = companyId + ':' + userId; - if (cache && cache[cacheId]) { - return $q.when(cache[cacheId].data); - } - - return getDataFromBackend(companyId, userId); - }; - - /** - * Return a promise authors list. - * - * @param int companyId - * The company ID. - * - * @returns {*} - */ - this.getAuthors = function(companyId) { - var deferred = $q.defer(); - var authors = {}; - this.get(companyId).then(function(events) { - angular.forEach(events, function(event) { - authors[event.user.id] = { - id: parseInt(event.user.id), - name: event.user.label, - count: authors[event.user.id] ? ++authors[event.user.id].count : 1 - }; - }); - deferred.resolve(authors); - }); - return deferred.promise; - }; - - - /** - * Create a new item. - * - * @param data - * Object with data to be saved. - */ - this.create= function(data) { - var deferred = $q.defer(); - var url = Config.backend + '/api/events'; - var self = this; - - $http({ - method: 'POST', - url: url, - data: data - }).success(function(response) { - - // Add the new item to the cache. - var companyId = data.company; - self.get(companyId).then(function(cachedData) { - cachedData.unshift(response.data[0]); - setCache(companyId, cachedData); - }); - - deferred.resolve(response.data[0]); - }); - - return deferred.promise; - }; - - /** - * Return events array from the server. - * - * @param int companyId - * The company ID. - * - * @returns {$q.promise} - */ - function getDataFromBackend(companyId, userId) { - var cacheId = companyId + ':' + userId; - var deferred = $q.defer(); - var url = Config.backend + '/api/events'; - var params = { - sort: '-updated', - 'filter[company]': companyId - }; - - if (userId) { - params['filter[user]'] = userId; - } - - $http({ - method: 'GET', - url: url, - params: params, - transformResponse: prepareDataForLeafletMarkers - }).success(function(response) { - setCache(cacheId, response); - deferred.resolve(response); - }); - - return deferred.promise; - }; - - /** - * Save cache, and broadcast en event to inform that the data changed. - * - * @param int companyId - * The company ID. - * @param data - * Object with the data to cache. - */ - var setCache = function(cacheId, data) { - // Cache data by company ID. - cache[cacheId] = { - data: data, - timestamp: new Date() - }; - - // Clear cache in 60 seconds. - $timeout(function() { - if (cache.data && cache.data[cacheId]) { - cache.data[cacheId] = null; - } - }, 60000); - - // Broadcast a change event. - $rootScope.$broadcast(broadcastUpdateEventName); - }; - - /** - * Convert the array of list of meters to and object of meters. - * - * Also prepare the lang and lat values so Leaflet can pick them up. - * - * @param list [] - * List of meters in an array. - * - * @returns {*} - * List of events organized in an object, each meter it's a property keyed - * by the id. - */ - function prepareDataForLeafletMarkers(list) { - var events = {}; - - // Convert response serialized to an object. - list = angular.fromJson(list).data; - - angular.forEach(list, function(event) { - events[event.id] = event; - - // Convert the geo location properties as expected by leaflet map. - events[event.id].lat = parseFloat(event.location.lat); - events[event.id].lng = parseFloat(event.location.lng); - - delete event.location; - - // Extend meter with marker properties and methods. - angular.extend(events[event.id], Marker); - // Define default icon properties and methods, in order, to be changed later. - events[event.id].unselect(); - }); - - return events; - }; - - $rootScope.$on('clearCache', function() { - cache = {}; - }); - - }); diff --git a/app/templates/client/app/scripts/services/map.js b/app/templates/client/app/scripts/services/map.js deleted file mode 100644 index eca832a..0000000 --- a/app/templates/client/app/scripts/services/map.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -angular.module('clientApp') - .service('Map', function (leafletData) { - - // Initial center point. - var cache = {}; - - /** - * Return extra configuration for the maps. - * - * @returns {*} - * Maps Default configuration object. - */ - this.getConfig = function() { - return { - zoomControlPosition: 'bottomleft', - maxZoom: 16, - minZoom: 1, - center: this.getCenter() - }; - }; - - /** - * Set geolocation values of the center of the map. - * - * @param center - * Center object format for leaftlet map. - */ - this.setCenter = function(center) { - cache.center = center; - }; - - /** - * Return of the geolocation values of the center of the map. - * - * @return center - * Center object. - */ - this.getCenter = function() { - return cache.center || {lat: 60, lng: 60, zoom: 4}; - }; - - /** - * Center the map by the marker. - * - * @param marker - * Marker object. - */ - this.centerMapByMarker = function(marker) { - leafletData.getMap().then(function(map){ - map.setView(marker.getPosition()); - }); - }; - - }); diff --git a/app/templates/client/app/scripts/services/marker.js b/app/templates/client/app/scripts/services/marker.js deleted file mode 100644 index cbca3b3..0000000 --- a/app/templates/client/app/scripts/services/marker.js +++ /dev/null @@ -1,71 +0,0 @@ -'use strict'; - -angular.module('clientApp') - .factory('Marker', function ($state, Map) { - // Save last marker selected. - var selected; - // Definitions of the map icons. - var icons = { - default: { - iconUrl: '/images/marker-blue.png', - shadowUrl: '/images/shadow.png', - iconSize: [40, 40], // size of the icon - shadowSize: [26, 26], - iconAnchor: [32, 30], // point of the icon which will correspond to marker's location - shadowAnchor: [25, 7] // the same for the shadow - }, - selected: { - iconUrl: '/images/marker-red.png', - shadowUrl: '/images/shadow.png', - iconSize: [40, 40], // size of the icon - shadowSize: [26, 26], - iconAnchor: [32, 30], // point of the icon which will correspond to marker's location - shadowAnchor: [25, 7] // the same for the shadow - } - }; - - /** - * Get the icon properties of a marker. - * - * @param type - * Name of the existing icons. - * - * @returns {*} - * Properties of the icon. - */ - function getIcon(type) { - return icons[type]; - } - - return { - /** - * Return "default" icon to set icon marker is unselected. - */ - unselect: function() { - this.icon = getIcon('default'); - }, - /** - * Select a new marker. - * - * Unselect previous marker, and return the "selected" icon. - */ - select: function() { - if (angular.isDefined(selected)) { - selected.unselect(); - } - selected = this; - this.icon = getIcon('selected'); - - Map.centerMapByMarker(this); - }, - /** - * Return geoposition object {lag: 35.00, lng: 56.56}. Generally used to center the map by the marker. - */ - getPosition: function() { - return { - lat: this.lat, - lng: this.lng - }; - } - }; - }); diff --git a/app/templates/client/app/scripts/services/utils.js b/app/templates/client/app/scripts/services/utils.js deleted file mode 100644 index 9aaf9b8..0000000 --- a/app/templates/client/app/scripts/services/utils.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -/** - * @ngdoc service - * @name clientApp.utils - * @description - * # utils - * Service in the clientApp. - */ -angular.module('clientApp') - .service('Utils', function () { - var Utils = this; - /** - * Base64 encode / decode - * http://www.webtoolkit.info/ - * - */ - this.Base64 = { - // private property - _keyStr : 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', - // public method for encoding - encode : function (input) { - var output = ''; - var chr1, chr2, chr3, enc1, enc2, enc3, enc4; - var i = 0; - input = Utils.Base64._utf8_encode(input); - while (i < input.length) { - chr1 = input.charCodeAt(i++); - chr2 = input.charCodeAt(i++); - chr3 = input.charCodeAt(i++); - enc1 = chr1 >> 2; - enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); - enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); - enc4 = chr3 & 63; - if (isNaN(chr2)) { - enc3 = enc4 = 64; - } else if (isNaN(chr3)) { - enc4 = 64; - } - output = output + - this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + - this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); - } - return output; - }, - // private method for UTF-8 encoding - _utf8_encode : function (string) { - string = string.replace(/\r\n/g,'\n'); - var utftext = ''; - for (var n = 0; n < string.length; n++) { - var c = string.charCodeAt(n); - if (c < 128) { - utftext += String.fromCharCode(c); - } - else if((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } - else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - } - return utftext; - } - }; - }); diff --git a/app/templates/client/app/styles/_loadingbar.scss b/app/templates/client/app/styles/_loadingbar.scss deleted file mode 100644 index d1d9e37..0000000 --- a/app/templates/client/app/styles/_loadingbar.scss +++ /dev/null @@ -1,34 +0,0 @@ -.splash-screen { - position: fixed; - z-index: 1000; - font-size: 40px; - color: #26858d; - top: 40%; - left: 45%; -} - -// Loading Bar -#loading-bar { - - .bar { - height: 5px; - background: #26858d; - } - - .peg { - box-shadow: #29d 1px 0 6px 1px; - } - -} - -#loading-bar-spinner { - top: 25px; - left: 12px; - - .spinner-icon { - width: 20px; - height: 20px; - border-top-color: #26858d; - border-left-color: #26858d; - } -} diff --git a/app/templates/client/app/styles/_spinner.scss b/app/templates/client/app/styles/_spinner.scss deleted file mode 100644 index df87d69..0000000 --- a/app/templates/client/app/styles/_spinner.scss +++ /dev/null @@ -1,44 +0,0 @@ -.spinner { - margin: 100px auto 0; - width: 70px; - text-align: center; -} - -.spinner > div { - width: 18px; - height: 18px; - background-color: #333; - - border-radius: 100%; - display: inline-block; - -webkit-animation: bouncedelay 1.4s infinite ease-in-out; - animation: bouncedelay 1.4s infinite ease-in-out; - /* Prevent first frame from flickering when animation starts */ - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.spinner .bounce1 { - -webkit-animation-delay: -0.32s; - animation-delay: -0.32s; -} - -.spinner .bounce2 { - -webkit-animation-delay: -0.16s; - animation-delay: -0.16s; -} - -@-webkit-keyframes bouncedelay { - 0%, 80%, 100% { -webkit-transform: scale(0.0) } - 40% { -webkit-transform: scale(1.0) } -} - -@keyframes bouncedelay { - 0%, 80%, 100% { - transform: scale(0.0); - -webkit-transform: scale(0.0); - } 40% { - transform: scale(1.0); - -webkit-transform: scale(1.0); - } -} diff --git a/app/templates/client/app/styles/main.scss b/app/templates/client/app/styles/main.scss deleted file mode 100644 index d7dd24a..0000000 --- a/app/templates/client/app/styles/main.scss +++ /dev/null @@ -1,14 +0,0 @@ -// @todo: We can't import _bootstrap.scss, as for some reason it causes the -// PhantomCSS tests to fail on Travis. - -// $icon-font-path: "../bower_components/bootstrap-sass-official/assets/fonts/bootstrap/"; -// bower:scss -// @import "bootstrap-sass-official/assets/stylesheets/_bootstrap.scss"; - -@import 'loadingbar.scss'; -@import 'spinner.scss'; - -#map { - min-height: 500px; -} - diff --git a/app/templates/client/app/views/403.html b/app/templates/client/app/views/403.html deleted file mode 100644 index 0412705..0000000 --- a/app/templates/client/app/views/403.html +++ /dev/null @@ -1 +0,0 @@ -

    403 error

    diff --git a/app/templates/client/app/views/dashboard/account/account.html b/app/templates/client/app/views/dashboard/account/account.html deleted file mode 100644 index cae6d09..0000000 --- a/app/templates/client/app/views/dashboard/account/account.html +++ /dev/null @@ -1,11 +0,0 @@ -
    -
    -
    - Name: {{ account.label }} -
    - -
    - Mail: {{ account.mail }} -
    -
    -
    diff --git a/app/templates/client/app/views/dashboard/companies/companies.company.html b/app/templates/client/app/views/dashboard/companies/companies.company.html deleted file mode 100644 index ecfe580..0000000 --- a/app/templates/client/app/views/dashboard/companies/companies.company.html +++ /dev/null @@ -1,7 +0,0 @@ -
    - {{ selectedCompany.label }} -
    - -
    -
    - diff --git a/app/templates/client/app/views/dashboard/companies/companies.html b/app/templates/client/app/views/dashboard/companies/companies.html deleted file mode 100644 index 3230b88..0000000 --- a/app/templates/client/app/views/dashboard/companies/companies.html +++ /dev/null @@ -1,11 +0,0 @@ -
    -
    - -
    - -
    -
    diff --git a/app/templates/client/app/views/dashboard/events/events.html b/app/templates/client/app/views/dashboard/events/events.html deleted file mode 100644 index c432815..0000000 --- a/app/templates/client/app/views/dashboard/events/events.html +++ /dev/null @@ -1,18 +0,0 @@ -
    -
    -

    Authors list

    - -
    - -
    - -
    -
    - -
    - diff --git a/app/templates/client/app/views/dashboard/main.html b/app/templates/client/app/views/dashboard/main.html deleted file mode 100644 index b2e5df5..0000000 --- a/app/templates/client/app/views/dashboard/main.html +++ /dev/null @@ -1,44 +0,0 @@ - - -
    -
    -
    diff --git a/app/templates/client/app/views/login.html b/app/templates/client/app/views/login.html deleted file mode 100644 index 829b5c3..0000000 --- a/app/templates/client/app/views/login.html +++ /dev/null @@ -1,49 +0,0 @@ -
    - -
    diff --git a/app/templates/client/bower.json b/app/templates/client/bower.json deleted file mode 100644 index 44914b1..0000000 --- a/app/templates/client/bower.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "client", - "version": "0.0.1", - "dependencies": { - "angular": "^1.3.0", - "json3": "^3.3.0", - "es5-shim": "^4.0.0", - "bootstrap-sass-official": "^3.2.0", - "angular-animate": "^1.3.0", - "angular-cookies": "^1.3.0", - "angular-sanitize": "^1.3.0", - "angular-leaflet-directive": "~0.7.9", - "angular-ui-router": "~0.2.13", - "angular-local-storage": "~0.1.5", - "angular-loading-bar": "~0.6.0" - }, - "devDependencies": { - "angular-mocks": "~1.3.0", - "angular-scenario": "~1.3.0", - "angular": "~1.4.0", - "json3": "~3.3.2", - "es5-shim": "~4.1.6" - }, - "appPath": "app", - "resolutions": { - "angular": "~1.3.16" - } -} diff --git a/app/templates/client/config.example.json b/app/templates/client/config.example.json deleted file mode 100644 index 7d1f41e..0000000 --- a/app/templates/client/config.example.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "development": { - "backend": "BASE_DOMAIN_URL", - "debugUiRouter": true - }, - "production": { - "backend": "https://example.com", - "debugUiRouter": false - } -} diff --git a/app/templates/client/config.json b/app/templates/client/config.json deleted file mode 100644 index 7d1f41e..0000000 --- a/app/templates/client/config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "development": { - "backend": "BASE_DOMAIN_URL", - "debugUiRouter": true - }, - "production": { - "backend": "https://example.com", - "debugUiRouter": false - } -} diff --git a/app/templates/client/config.travis.json b/app/templates/client/config.travis.json deleted file mode 100644 index a480fd7..0000000 --- a/app/templates/client/config.travis.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "development": { - "backend": "http://127.0.0.1:8080", - "debugUiRouter": false - } -} diff --git a/app/templates/client/elm-package.json b/app/templates/client/elm-package.json new file mode 100644 index 0000000..a8a5778 --- /dev/null +++ b/app/templates/client/elm-package.json @@ -0,0 +1,25 @@ +{ + "version": "1.0.0", + "summary": "Single page application example in Elm v0.17", + "repository": "https://github.com/Gizra/elm-spa-exmple.git", + "license": "BSD3", + "source-directories": [ + "src/elm" + ], + "exposed-modules": [], + "dependencies": { + "NoRedInk/elm-decode-pipeline": "3.0.0 <= v < 4.0.0", + "elm-community/elm-test": "3.1.0 <= v < 4.0.0", + "elm-community/json-extra": "2.0.0 <= v < 3.0.0", + "elm-lang/core": "5.0.0 <= v < 6.0.0", + "elm-lang/html": "2.0.0 <= v < 3.0.0", + "elm-lang/http": "1.0.0 <= v < 2.0.0", + "elm-lang/navigation": "2.0.1 <= v < 3.0.0", + "krisajenkins/remotedata": "4.0.1 <= v < 5.0.0", + "lukewestby/elm-http-builder": "4.0.0 <= v < 5.0.0", + "rtfeldman/node-test-runner": "3.0.0 <= v < 4.0.0", + "sporto/erl": "11.0.0 <= v < 12.0.0", + "truqu/elm-base64": "1.0.5 <= v < 2.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmi new file mode 100644 index 0000000000000000000000000000000000000000..625e04bb485fea15d4fc378fcad33fe2efcb2f58 GIT binary patch literal 3468 zcmeHJ(N4lJ6zzbG!HY3|2S31@iVqq!1`^-9t!iUgvE5AkdpCB^HfD&4QZPhby58OP z+;g}+9b+56Q<`}+hWC0dlI!%9=4V1JCy9u4A|@-j5=y25sWh_Ch__rCksvTe;5PDlq&?r2sAlEBdk{M*q;RzE>?_QxJk-FYMda>ZKju$FrpDuf(veCY&%hZCZhbA zf;}1sH&&C{5$>;p;`pP2gS1|ZBP{;y7B(y5#)k&iUYPLkHK;+&MHSaa*UQK`&YZlVg&(F&Fe83l^D?MVq=J3>k~oZ9Td| zYhl!A`|IMiRd2D5f8EPtw<9-%dz|2kgl)QNFCR_yJ5%rWVw4Zye-3fK}|8Pp3niAXhXGY*($X&p%{W$0>IG&F+ext9_eu?;e4i?91>8{i~*n;UU?}nk%HG04e+7{)iRaN1^2Cs6t!wP;fPR`8-0`FVTkPdEF%qN zCCxz+^g(_YAO}D210q{Sh8bjn6Qug@BRB~$s$OuN9ij#!oYuLjEhbuw!d828!Bm|i zl?9U;NOlNGj~3h&maJffUcYh=R literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Expect.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Expect.elmi new file mode 100644 index 0000000000000000000000000000000000000000..0099ff4d9ad6ac4dda2775751f58981f4f59b71c GIT binary patch literal 6767 zcmeHLQE%HI5XOz|WXbxlr|nPd5A?BZrad&$v{dRdc1dapo6O*;{rAI$1B@McR;NmA z%ZuT1z2Rn`2F|AhkKn!4!0J*nU+Aw-U)+?BQ!M)?^Nviv6W&l? zkcCu}&$t(LQ2{a#BEGk-GorIkAkftn0z45$3s{a~R|}S7l0omAY@bDqFJR$sc{nhq z%EWpnX`;hHkC(fGbBXm&@7p@qIqZ&l5|Ho}a7Ju_qIr10MiVCPodl9cIA9RU3zpJY zUkN?^H(09=KTUw4`f!Be-bix4H)-uil7c;fE?+eHqk_0>TI9R&ooI!Mb=vv8hMmoSAAA z^x#%q?$~VN1Or$jo#!nM2|o6?CHHi(HpvmZKAgwJJpXYjZD$yPKRPZt(=nahoZ;BU z!7E?APEDxS86kLBiF)MvxNPd{a$4{(H|^UNi}wA+k%`T(c>AcQ++@rd=v9@GZg(SG z-OdX_y}mpWY}-4;Wn>?0!7d1@@ipz0kgSj7XSbN literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Expect.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Expect.elmo new file mode 100644 index 0000000..1097cdf --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Expect.elmo @@ -0,0 +1,342 @@ +var _elm_community$elm_test$Expect$formatDiffs = F2( + function (diffType, diffs) { + if (_elm_lang$core$List$isEmpty(diffs)) { + return ''; + } else { + var modifier = function () { + var _p0 = diffType; + if (_p0.ctor === 'Extra') { + return '+'; + } else { + return '-'; + } + }(); + return function (d) { + return A2( + _elm_lang$core$Basics_ops['++'], + ' ', + A2( + _elm_lang$core$Basics_ops['++'], + modifier, + A2( + _elm_lang$core$Basics_ops['++'], + '[ ', + A2(_elm_lang$core$Basics_ops['++'], d, ' ]')))); + }( + A2( + _elm_lang$core$String$join, + ', ', + A2(_elm_lang$core$List$map, _elm_lang$core$Basics$toString, diffs))); + } + }); +var _elm_community$elm_test$Expect$reportFailure = F3( + function (comparison, expected, actual) { + return A2( + _elm_lang$core$String$join, + '\n', + _elm_lang$core$Native_List.fromArray( + [ + actual, + '╷', + A2(_elm_lang$core$Basics_ops['++'], '│ ', comparison), + '╵', + expected + ])); + }); +var _elm_community$elm_test$Expect$onFail = F2( + function (str, expectation) { + var _p1 = expectation; + if (_p1.ctor === 'Pass') { + return expectation; + } else { + return A2(_elm_community$elm_test$Test_Expectation$Fail, _p1._0, str); + } + }); +var _elm_community$elm_test$Expect$getFailure = function (expectation) { + var _p2 = expectation; + if (_p2.ctor === 'Pass') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just( + {given: _p2._0, message: _p2._1}); + } +}; +var _elm_community$elm_test$Expect$fail = _elm_community$elm_test$Test_Expectation$Fail(''); +var _elm_community$elm_test$Expect$pass = _elm_community$elm_test$Test_Expectation$Pass; +var _elm_community$elm_test$Expect$compareWith = F4( + function (label, compare, expected, actual) { + return A2(compare, actual, expected) ? _elm_community$elm_test$Expect$pass : _elm_community$elm_test$Expect$fail( + A3( + _elm_community$elm_test$Expect$reportFailure, + label, + _elm_lang$core$Basics$toString(expected), + _elm_lang$core$Basics$toString(actual))); + }); +var _elm_community$elm_test$Expect$allHelp = F2( + function (list, query) { + allHelp: + while (true) { + var _p3 = list; + if (_p3.ctor === '[]') { + return _elm_community$elm_test$Expect$pass; + } else { + var _p4 = _p3._0(query); + if (_p4.ctor === 'Pass') { + var _v5 = _p3._1, + _v6 = query; + list = _v5; + query = _v6; + continue allHelp; + } else { + return _p4; + } + } + } + }); +var _elm_community$elm_test$Expect$all = F2( + function (list, query) { + return _elm_lang$core$List$isEmpty(list) ? _elm_community$elm_test$Expect$fail('Expect.all received an empty list. I assume this was due to a mistake somewhere, so I\'m failing this test!') : A2(_elm_community$elm_test$Expect$allHelp, list, query); + }); +var _elm_community$elm_test$Expect$equalLists = F2( + function (expected, actual) { + if (_elm_lang$core$Native_Utils.eq(expected, actual)) { + return _elm_community$elm_test$Expect$pass; + } else { + var result = A2( + _elm_lang$core$Maybe$map, + function (_p5) { + var _p6 = _p5; + var _p9 = _p6._0; + var _p8 = _p6._2; + var _p7 = _p6._1; + return _elm_community$elm_test$Expect$fail( + A2( + _elm_lang$core$String$join, + '\n', + _elm_lang$core$Native_List.fromArray( + [ + _elm_lang$core$Basics$toString(actual), + A2( + _elm_lang$core$Basics_ops['++'], + 'first diff at index index ', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p9), + A2( + _elm_lang$core$Basics_ops['++'], + ': +`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p7), + A2( + _elm_lang$core$Basics_ops['++'], + '`, -`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p8), + '`')))))), + '╷', + '│ Expect.equalLists', + '╵', + A2( + _elm_lang$core$Basics_ops['++'], + 'first diff at index index ', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p9), + A2( + _elm_lang$core$Basics_ops['++'], + ': +`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p8), + A2( + _elm_lang$core$Basics_ops['++'], + '`, -`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p7), + '`')))))), + _elm_lang$core$Basics$toString(expected) + ]))); + }, + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$filterMap, + function (_p10) { + var _p11 = _p10; + var _p13 = _p11._1._1; + var _p12 = _p11._1._0; + return _elm_lang$core$Native_Utils.eq(_p13, _p12) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just( + {ctor: '_Tuple3', _0: _p11._0, _1: _p12, _2: _p13}); + }, + A2( + _elm_lang$core$List$indexedMap, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + A3( + _elm_lang$core$List$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + actual, + expected))))); + var _p14 = result; + if (_p14.ctor === 'Just') { + return _p14._0; + } else { + var _p15 = A2( + _elm_lang$core$Basics$compare, + _elm_lang$core$List$length(actual), + _elm_lang$core$List$length(expected)); + switch (_p15.ctor) { + case 'GT': + return _elm_community$elm_test$Expect$fail( + A3( + _elm_community$elm_test$Expect$reportFailure, + 'Expect.equalLists was longer than', + _elm_lang$core$Basics$toString(expected), + _elm_lang$core$Basics$toString(actual))); + case 'LT': + return _elm_community$elm_test$Expect$fail( + A3( + _elm_community$elm_test$Expect$reportFailure, + 'Expect.equalLists was shorter than', + _elm_lang$core$Basics$toString(expected), + _elm_lang$core$Basics$toString(actual))); + default: + return _elm_community$elm_test$Expect$pass; + } + } + } + }); +var _elm_community$elm_test$Expect$false = F2( + function (message, bool) { + return bool ? _elm_community$elm_test$Expect$fail(message) : _elm_community$elm_test$Expect$pass; + }); +var _elm_community$elm_test$Expect$true = F2( + function (message, bool) { + return bool ? _elm_community$elm_test$Expect$pass : _elm_community$elm_test$Expect$fail(message); + }); +var _elm_community$elm_test$Expect$atLeast = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.atLeast', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) > -1; + })); +var _elm_community$elm_test$Expect$greaterThan = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.greaterThan', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) > 0; + })); +var _elm_community$elm_test$Expect$atMost = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.atMost', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) < 1; + })); +var _elm_community$elm_test$Expect$lessThan = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.lessThan', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) < 0; + })); +var _elm_community$elm_test$Expect$notEqual = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.notEqual', + F2( + function (x, y) { + return !_elm_lang$core$Native_Utils.eq(x, y); + })); +var _elm_community$elm_test$Expect$equal = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.equal', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.eq(x, y); + })); +var _elm_community$elm_test$Expect$Missing = {ctor: 'Missing'}; +var _elm_community$elm_test$Expect$Extra = {ctor: 'Extra'}; +var _elm_community$elm_test$Expect$reportCollectionFailure = F5( + function (comparison, expected, actual, missingKeys, extraKeys) { + return A2( + _elm_lang$core$String$join, + '\n', + _elm_lang$core$Native_List.fromArray( + [ + _elm_lang$core$Basics$toString(actual), + A2( + _elm_lang$core$Basics_ops['++'], + 'diff:', + A2( + _elm_lang$core$Basics_ops['++'], + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Missing, missingKeys), + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Extra, extraKeys))), + '╷', + A2(_elm_lang$core$Basics_ops['++'], '│ ', comparison), + '╵', + A2( + _elm_lang$core$Basics_ops['++'], + 'diff:', + A2( + _elm_lang$core$Basics_ops['++'], + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Extra, missingKeys), + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Missing, extraKeys))), + _elm_lang$core$Basics$toString(expected) + ])); + }); +var _elm_community$elm_test$Expect$equalDicts = F2( + function (expected, actual) { + if (_elm_lang$core$Native_Utils.eq( + _elm_lang$core$Dict$toList(expected), + _elm_lang$core$Dict$toList(actual))) { + return _elm_community$elm_test$Expect$pass; + } else { + var differ = F4( + function (dict, k, v, diffs) { + return _elm_lang$core$Native_Utils.eq( + A2(_elm_lang$core$Dict$get, k, dict), + _elm_lang$core$Maybe$Just(v)) ? diffs : A2( + _elm_lang$core$List_ops['::'], + {ctor: '_Tuple2', _0: k, _1: v}, + diffs); + }); + var missingKeys = A3( + _elm_lang$core$Dict$foldr, + differ(actual), + _elm_lang$core$Native_List.fromArray( + []), + expected); + var extraKeys = A3( + _elm_lang$core$Dict$foldr, + differ(expected), + _elm_lang$core$Native_List.fromArray( + []), + actual); + return _elm_community$elm_test$Expect$fail( + A5(_elm_community$elm_test$Expect$reportCollectionFailure, 'Expect.equalDicts', expected, actual, missingKeys, extraKeys)); + } + }); +var _elm_community$elm_test$Expect$equalSets = F2( + function (expected, actual) { + if (_elm_lang$core$Native_Utils.eq( + _elm_lang$core$Set$toList(expected), + _elm_lang$core$Set$toList(actual))) { + return _elm_community$elm_test$Expect$pass; + } else { + var extraKeys = _elm_lang$core$Set$toList( + A2(_elm_lang$core$Set$diff, actual, expected)); + var missingKeys = _elm_lang$core$Set$toList( + A2(_elm_lang$core$Set$diff, expected, actual)); + return _elm_community$elm_test$Expect$fail( + A5(_elm_community$elm_test$Expect$reportCollectionFailure, 'Expect.equalSets', expected, actual, missingKeys, extraKeys)); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Fuzz-Internal.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/elm-test/3.1.0/Fuzz-Internal.elmi new file mode 100644 index 0000000000000000000000000000000000000000..16b583729a7d85859caf217ab1c14e22702c0227 GIT binary patch literal 2484 zcmd5-!A^rf5M2r-Xsn4J;t%v#jmAWirZwKTbgiVoHVYiuuNT^RyUQvmJz(TQ=5_jJ z-n?0svDR}(kw@=|NVEG`W?7Xd<(|N(0ZUPo6bJNXH&wpl@%CBdA3Oy((crrhVnlHG zR2>dNQG{|pkrgyqlmpDK=|QsmQc1q0h+VsEGhQTd;h^J3v8px>7`!H04w@Oi@%>6T ziP1de<)>5`;poc6{fBIQE@fG*oRo0E^R)!GKabr$!-XiS6oW^n(LxrYnJ&?Vpq)+` zay-s_G|O6YO~%;-@WVVqIFmBooPM-ejS8DfKZJRAI*~;VGS^p(PsrUQ2?BxGV0) zmSGoGfKB#zdafajuKk6pj~SZorLa%^&gC? zGpRqor{}kBJCm&2&NEXP#_S(WgsuB^@cKsIz{};r#(N6|H|g%0{fNO|?^gQSrK}PoRYTkh?R1zo z^ExvfLiWBZv!mwsQmSmSEV8W0(|T)!ObcsS)n-2);9yZy@}ZQ{>|rI=aw8)osnUF- zWL@MC#br^z7-7q&RIN&BPZ?jWW?BaIDC5sqkJpOVwN*}x9LS?yucoQ9JNaPpYS7dUYQ79i+EX0W`g!;3~k*9_kQ7DH^W2QA=bk0PM zDk1!!hhWUKNRf(Ycgho+IaIn7m8*)lV%LN_#4yg8*%ze*9R0euKasmnl#NXs^oCMqw}<7$%CU2N z?8IS=tQqV$*hi`KJhxicrt~KOr)SX1%ELYe%buMug3#+i`r}M*TuC%FUe(cIX30Ld9dzVH!;jM#Y9FMSgbr6nq+vvmiU&~D!eEEin zDyp&R`?w84b}q)w)bqDvubK&mTZ(h*!bu?`NjAKf4CgO?i~rJ4sQ=nXg8PTR@h=u%F96b|H~j4{NEwAsX8gn(`cq#;f1cmOwZyJ)#oxk$86Po13OI#E_q+l5YY z|F}uxFQ@kTzH><|tNxrdgLOgUWE5seQl(M3hLb)!S<<3}V;ja-Fyes6-p%h74e{zv zY<5vri$$;^;S*WXB52*EK4S2}hw;_;GAQyeXb{HR>i}HIu(tqG|B;xaOE`AIET{0@ zg|R#EKlPOqQCPswDoE}%omXgr3XpRf@jX$&aetEa9M?ew$eYrligDvrko>!tl#49K z?U%uNjeFI>vM0#{{=^*dK!;+R>@fr-?`s0?!4gxDWfb^Fdco_xsEtJWmXn( z>>1Uu+1{+oBTh=C#Y4-SZ`Ec4EA>%EfY^Lp^7CH9mU%{gtiMXMk)PVrR4DC!$#c>Q z{0GV-XW-+ci^}G48 zttt6L{dzHC^PIt-W%!Q@tBd+rRU7Jq1~voknW;N@pdQeOkfr`{)1sj<8~0qSYNZM@ zRu${w=Q+5g;iuuJWxc?@kk+&sDcWw|DwP5VDV73CfGC2ZjPx|ezRN^^rYz8St{ZK- zRK_hQ{eWf^}6!sPa^L2@xX3p!Dq*S{xv6tN) zX6O0M>{L-2zhgS7v>x#woVsxs=8>PRi8y*m<7mp?vxE`FqE*p7mT??R7I|~F!g261 z!`4dqYtAFLV%1Wf;iKXCZgz^(_|4CrZN6lAP;rcwNgUqsv?fi69d?^%EcM;AMb+)v zI&c~`ck-t%jD-nA8_=p>7hcoew7DC5upXlH8$ZP@(2O}-J8eemHelH@PQsRoHeEXp zy$^_z9_{%{UxZg%B4gP#x+1Ad_Vk$7;%5%l?7lIWpY{6;(fjf zcv>I`_YRv4NF5cOXvGrd1iTBaHAaVzrB!Go1K>3p?~pFbU$~ zzKW^fJ?<10u>Dcb?57ct*uUZg6Qn2mU*tu6srn@cscm-g=IIZx46`c4)lYa`a*cPR zpSwTDqD*{HRdqdt^m&3Q=86Za?uLZW$?1tjLOK#)97eJ6z=9l)wW3z-Xm58eB4K9Q zN|l9?j))*26^P5RQ?NQ#W^k~Tz{6p0Ff<0}?g6i# fW4~!49U5KQ`_3LgBB{y>jDE}|d`-qSQnB@bv4uzzobUD^hu&1H8dlbvBg$mDEc zqEI(Ns)8G(ylz|v;QDQiF2u*RETEHAv91z;u7cZa$85uGfTjmg`4@l@)a2AlK%X5o zH#IIrXUVy-E?jjPsUtDJO6H!XRe?l^$9q-JQSQD9B(s~aUZN4SAC)CReac9TIGMN} z7_$UW#dwF85w`j7rzF#uWWr60nW6muRMQ8OUi3zntV2#Zj(ajtq)@hK<6?u5Ls-5$ C(o7Zr literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo new file mode 100644 index 0000000..c8513c6 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo @@ -0,0 +1,9 @@ +var _elm_community$json_extra$Json_Encode_Extra$maybe = F2( + function (encoder, value) { + var _p0 = value; + if (_p0.ctor === 'Nothing') { + return _elm_lang$core$Json_Encode$null; + } else { + return encoder(_p0._0); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/json-extra/2.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..c40a6ef63b61b251d8bb9284be5193cc32d9ccdf GIT binary patch literal 2163 zcmeHHL2iRE5Oj+{X_P)CIO-D`a!FdLYF=O*6VU*!uq`#eZ-8A|P;S!sGGm zdI)L1`!0}2S(Hnm%Flt`ft60&gf3uf1x zrj5-q_Q}PGAEjmk0_^8x_7tz;71Om~4LIviSqm3mHUYll1r`7^YiJa_Izmo`s{1QI zZ5-~P5Iu993k{hIQkclpA_W&9`jTtogU~BKr>KJqq3B&|TlkrfRE+~Lg%ytT z7%Nzp2M5)z!tQPA0rvVMo1y_uFHN}d(P5h8!bg9Dy+jztxBaI%ZL0q;rw-M(IXyTG f4Yv1YPK1P@<2dvh-OQ<#W{QoV=MBth@W{wFmEs0) literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/lazy-list/1.0.0/Lazy-List.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/lazy-list/1.0.0/Lazy-List.elmi new file mode 100644 index 0000000000000000000000000000000000000000..a37bf6ffc6890ff7f5883cca735a19aff8c0a578 GIT binary patch literal 42098 zcmeHQOLN;c5T-&(vXb`D-=Xm(k9J14#O)z7Nv6|gnq!BgAe&=86p2d5{`CRH-32Jg z*0PpKBeS}Q00l0sB)QRHh6zj20{Ak`bHY)K#UChH`>OjTLrm_AO{f7ovX zaaA0aeWk)V1b4V_;Qt)?7@6hEb-k*6=)=nGF6p^FN{)^ zUzS%C)ZO%TL#2R(8c7HmZ!t-bO# zr|#QDvBJ(r?%s{}FEV7KJ74*G6YW%E^p{$1QpE5#NZn#F#2WBK5`NTfY+!ZAuF%2K z2O&L01OFKY&MG;WhB;yxR3dPv^36|K>86;|)cuf@9biodkta|Q8y zD5A8`^O4Owo3{)thDTpO7OzAf6)YrdNh%>>)CWjxO+jlE*Ab+E)S81&5tlaS9zn2c zMOOD%HF4CoP+8i7^hWH|i0xntI>XOV&`h;~N5?d|q@+kdWb$h) za|QPBL5PY?R5fejVp{jW$;`d(fggC0Lx_sWjkv^CFOnM_DU$yQOMYhsSS@$JAR;`< zgr_MDPxy(D_4C8Qe31!MxmRkVQ6DnjVUs=B4xJ5o~>E< z!P;Ks6s+BVDIqeCg7yRFCIl+#U&~3j<;c-?5^j17(?@!+le?;GLDU$h?qiOPf-PIb z0Jgz)~I zP0L7`O=m(>Y@(|5Ok*ph8I%gi3CTT{DUEgx3$t>W6=$?y=dM}T>~S`HYo5%4fDBXE zybNP++Olon-01-!T`uVgQe32v_~0}F0gekC@#fY8t%k8a&cN_5J&C1OEVbULhc>uU zT%CuZ*9nN&4lc{jWpK?`$lXgpSDgjAM{4er@tc?uk3^}MRUa)w@iw!X*g2&u;alO` zM^GKYxXgjxynCdSn<5Tf7%LH{56dDEc87>FFDQC-A<|Byok%G`?`s&dsf+n)%;TSj~m zd=WjFJ(X_Zx+e^ojocB7uX`Y1XE!N!M!^S3`3v6mB6 zXZ*J(T(zZr`wOVw4r>s2ZQz!*?cvRZcH<=ajc64aY|CI?TjKW9c;(4`9o(z_eqf|PDq7cG3#S4mEyNz=*j`iJIhUd#*TuCltUCbM zwCn4;%k_Qgo#Uy;QZ7O{i0-L%yVITpa^^;z2t`F1UMo5(UM>jHu(Xh#LT)X|ZBmij zm#ZYz+nOhkKJZnL<098mH*?O@#W7P^Y?rL0FZg`{&^45l zx#I%0`e>6UUpIZMh`Krg6&mEyAW)!xn=EC9!(S2Wp1|C43Z>Ct+!<1PYxD=s4>r|u zYHHoCX~5EfW@&M+Wn0nu*g)hePxqiHT=gUCPy8`GPu&)T%tl%wQCw?9Bx-Uv@s+va zTFa&?ajj)TC9bvSagk+u`J=o65q=uJ-5XH1_9V76in!IX30el(Y^X$|u%Qx-!iK7k zMP#>JJ!y$Z+-hqbcN!Uf{8wgOdmn?sEN@hD02|v0JE_JKD|s^h$LPdT-uH9*MGat^WNX& zW4x7+#hO<|VamL2aC0Hy*{o%*Yuun{Ty|!P-u&1e==}a%Z0Wi-Y04hJ?~n=2z7n!7 z6Wd0cXv4JP%);2Qr9^EkQr&bekrLYE63UFU@=6KxeY8VEwFfcioNN5;Lh=tHF(knS zG`CF}L(mDDg!=+NW+Cz literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/shrink/2.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-community/shrink/2.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..bd52bd854f04b85a70b0945a10c7509a1e12318f GIT binary patch literal 1305 zcmb`H&60vJ49D3O7(KXeB6U1_@#E;uIPwIc7G*5p^y9!jy&ws=%(@3Fm$W7M<)1X* zdH3g|HQrRne8$T>w?$?uJPh?&WyJ+|pJ<1M5Mli2y=;Km*feEV;1@Uv&3@%zEu1Z) zc{FEQan{C1wHKyv5cP$Kag$R*al*aNOC@j}pdFg7pf%`>YkciO3brD#B*6vb?=o%P zA?O>bg!2|v|L_E$!e zg+ZO61pclLz|()Px&fmf#da`UP_9SjD?RNweH|{GV5Jn0co&erIfKGtT{vNE>c1R) Go!$+>2$Jgn literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Array.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Array.elmi new file mode 100644 index 0000000000000000000000000000000000000000..9f070a62a9a163cb8c522107b7e80612667c80c4 GIT binary patch literal 3748 zcmdT{OHacv3{Ka_CL|6B{stG0yD^EwB*uw5O4n>eN*`)7#Q61;#!l*uF(whT_EI}> z?az-mE@R}m0xp2}M5z2$@nQ{pv@B}@^fkO$Eb>ZkkxOb(39ga7kcHHeEBS%nvB|0~ z^GDfOnXzmhhzcc&wSGkvQMG9-lkln%MTUFfT39t<_8}(9;lQQs8Q2R+g%*8Ql7_BzsVa;es=XklTW?Wa_Biq7VOih77K* zRkV%6Zkz`!*M^Utdw(hG`nRpQa9(I1DLD~;zul7FyWgtFMM3>=>9$mQ2F~^GrUQLA zh4a+EyQy!Cu+~3*VxWJ4g##8lBX}@jor$`hXDlW#g!r`A)w?lgrVkfMOAV}M%&=zB ze@z|84B!UA;nh||mmzc@@L1p7@OsGXu!0D)H+6<`gDQ%h-vuw&q07<9+}+FLm*-8T k#2tu@NHkq}!Z!Zy{2$Ui2)ICR7{J%gW#;)-3ijOV6Y9&F!~g&Q literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Array.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Array.elmo new file mode 100644 index 0000000..958955b --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Array.elmo @@ -0,0 +1,54 @@ +var _elm_lang$core$Array$append = _elm_lang$core$Native_Array.append; +var _elm_lang$core$Array$length = _elm_lang$core$Native_Array.length; +var _elm_lang$core$Array$isEmpty = function (array) { + return _elm_lang$core$Native_Utils.eq( + _elm_lang$core$Array$length(array), + 0); +}; +var _elm_lang$core$Array$slice = _elm_lang$core$Native_Array.slice; +var _elm_lang$core$Array$set = _elm_lang$core$Native_Array.set; +var _elm_lang$core$Array$get = F2( + function (i, array) { + return ((_elm_lang$core$Native_Utils.cmp(0, i) < 1) && (_elm_lang$core$Native_Utils.cmp( + i, + _elm_lang$core$Native_Array.length(array)) < 0)) ? _elm_lang$core$Maybe$Just( + A2(_elm_lang$core$Native_Array.get, i, array)) : _elm_lang$core$Maybe$Nothing; + }); +var _elm_lang$core$Array$push = _elm_lang$core$Native_Array.push; +var _elm_lang$core$Array$empty = _elm_lang$core$Native_Array.empty; +var _elm_lang$core$Array$filter = F2( + function (isOkay, arr) { + var update = F2( + function (x, xs) { + return isOkay(x) ? A2(_elm_lang$core$Native_Array.push, x, xs) : xs; + }); + return A3(_elm_lang$core$Native_Array.foldl, update, _elm_lang$core$Native_Array.empty, arr); + }); +var _elm_lang$core$Array$foldr = _elm_lang$core$Native_Array.foldr; +var _elm_lang$core$Array$foldl = _elm_lang$core$Native_Array.foldl; +var _elm_lang$core$Array$indexedMap = _elm_lang$core$Native_Array.indexedMap; +var _elm_lang$core$Array$map = _elm_lang$core$Native_Array.map; +var _elm_lang$core$Array$toIndexedList = function (array) { + return A3( + _elm_lang$core$List$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + A2( + _elm_lang$core$List$range, + 0, + _elm_lang$core$Native_Array.length(array) - 1), + _elm_lang$core$Native_Array.toList(array)); +}; +var _elm_lang$core$Array$toList = _elm_lang$core$Native_Array.toList; +var _elm_lang$core$Array$fromList = _elm_lang$core$Native_Array.fromList; +var _elm_lang$core$Array$initialize = _elm_lang$core$Native_Array.initialize; +var _elm_lang$core$Array$repeat = F2( + function (n, e) { + return A2( + _elm_lang$core$Array$initialize, + n, + _elm_lang$core$Basics$always(e)); + }); +var _elm_lang$core$Array$Array = {ctor: 'Array'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Basics.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Basics.elmi new file mode 100644 index 0000000000000000000000000000000000000000..16452d9286255d228e21fd7b40e64fdddd8f72b4 GIT binary patch literal 5451 zcmb_gO>f&c5EUiMcGJ@W{R`VejljSj3&$u5v_%)$bc?3fENEE?1jv$Cmb)#GAHS5y z_ee2vqT2Pv^YJ(w4$09BgP`;K&2Yl}Pt$yJp3CCS@S~)xQbS*u{~)}uq>}4Q7Ubi4Us+C#{=3X2cjVb^Rc<!$S?LHQ_S&`WgPwVnaT{$j> zGj8iNTc<^x)ju$PEc5^54>}VrcrL#FpS=5A3wdRvyc$9hUVO1uh?HO9q$vr^0Vc#nmDGau*k{o|UG0L_`) zZqs5dS9#he>w_7m&x!vzr{^{#vA!YWo?t+TU|S~=2$QfHM`sG#ky`Gx>_ zoGU6Vz<`jXR{cUVsrtkb>9{9*SF1jF03YR{`ZS(4Ugb3y=&aC6SJWp~XoHa;*zZ1v zKt5Ir0MpGX?OsHtf@tWBkl`OhlH8%?&&!`gdO zxnWfYg70sR57)L>zC!&}E&%Sti`JHsT-;-kL7`(m0+WBP_uD*0^~kH?W)Zk4+|0p{ z2zw-uL|8Qra!RBg3@28XXq>(G6gn>T=5x3d>pIw*iL7%XoTBw`m^iRE+Q*JF3%7Ny zUAv_W$gQ0ZdE?dzrt%&FW&h%Vhuyxmxr4h;+<-oqUSHc5_NjYhJt7k%^lw0z>+P`y ztn2*KKQFMZ(xzEU)5bEE?WS}&gHzoh<@#J11-mX!?Xj4yX=SMzR&$!Bk)yn0?Oczx zS3QL5c&$6+LD0789fV|qN_68JnT`W&M~}Ua$Br`_VS8D7BIXac5 zQSqaA#CO_#E$CFo#+l&ZTLCm7-wY_RZwC;W{}<-pdG`Q9y^1haK-qVYXAmtGKv6WC zK@FmQEMB)Z+P7O%# T@sAk37E;2O#4$$kIcoerK(b}| literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Basics.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Basics.elmo new file mode 100644 index 0000000..64d8f36 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Basics.elmo @@ -0,0 +1,125 @@ +var _elm_lang$core$Basics$never = function (_p0) { + never: + while (true) { + var _p1 = _p0; + var _v1 = _p1._0; + _p0 = _v1; + continue never; + } +}; +var _elm_lang$core$Basics$uncurry = F2( + function (f, _p2) { + var _p3 = _p2; + return A2(f, _p3._0, _p3._1); + }); +var _elm_lang$core$Basics$curry = F3( + function (f, a, b) { + return f( + {ctor: '_Tuple2', _0: a, _1: b}); + }); +var _elm_lang$core$Basics$flip = F3( + function (f, b, a) { + return A2(f, a, b); + }); +var _elm_lang$core$Basics$always = F2( + function (a, _p4) { + return a; + }); +var _elm_lang$core$Basics$identity = function (x) { + return x; +}; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['<|'] = F2( + function (f, x) { + return f(x); + }); +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['|>'] = F2( + function (x, f) { + return f(x); + }); +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['>>'] = F3( + function (f, g, x) { + return g( + f(x)); + }); +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['<<'] = F3( + function (g, f, x) { + return g( + f(x)); + }); +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['++'] = _elm_lang$core$Native_Utils.append; +var _elm_lang$core$Basics$toString = _elm_lang$core$Native_Utils.toString; +var _elm_lang$core$Basics$isInfinite = _elm_lang$core$Native_Basics.isInfinite; +var _elm_lang$core$Basics$isNaN = _elm_lang$core$Native_Basics.isNaN; +var _elm_lang$core$Basics$toFloat = _elm_lang$core$Native_Basics.toFloat; +var _elm_lang$core$Basics$ceiling = _elm_lang$core$Native_Basics.ceiling; +var _elm_lang$core$Basics$floor = _elm_lang$core$Native_Basics.floor; +var _elm_lang$core$Basics$truncate = _elm_lang$core$Native_Basics.truncate; +var _elm_lang$core$Basics$round = _elm_lang$core$Native_Basics.round; +var _elm_lang$core$Basics$not = _elm_lang$core$Native_Basics.not; +var _elm_lang$core$Basics$xor = _elm_lang$core$Native_Basics.xor; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['||'] = _elm_lang$core$Native_Basics.or; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['&&'] = _elm_lang$core$Native_Basics.and; +var _elm_lang$core$Basics$max = _elm_lang$core$Native_Basics.max; +var _elm_lang$core$Basics$min = _elm_lang$core$Native_Basics.min; +var _elm_lang$core$Basics$compare = _elm_lang$core$Native_Basics.compare; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['>='] = _elm_lang$core$Native_Basics.ge; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['<='] = _elm_lang$core$Native_Basics.le; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['>'] = _elm_lang$core$Native_Basics.gt; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['<'] = _elm_lang$core$Native_Basics.lt; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['/='] = _elm_lang$core$Native_Basics.neq; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['=='] = _elm_lang$core$Native_Basics.eq; +var _elm_lang$core$Basics$e = _elm_lang$core$Native_Basics.e; +var _elm_lang$core$Basics$pi = _elm_lang$core$Native_Basics.pi; +var _elm_lang$core$Basics$clamp = _elm_lang$core$Native_Basics.clamp; +var _elm_lang$core$Basics$logBase = _elm_lang$core$Native_Basics.logBase; +var _elm_lang$core$Basics$abs = _elm_lang$core$Native_Basics.abs; +var _elm_lang$core$Basics$negate = _elm_lang$core$Native_Basics.negate; +var _elm_lang$core$Basics$sqrt = _elm_lang$core$Native_Basics.sqrt; +var _elm_lang$core$Basics$atan2 = _elm_lang$core$Native_Basics.atan2; +var _elm_lang$core$Basics$atan = _elm_lang$core$Native_Basics.atan; +var _elm_lang$core$Basics$asin = _elm_lang$core$Native_Basics.asin; +var _elm_lang$core$Basics$acos = _elm_lang$core$Native_Basics.acos; +var _elm_lang$core$Basics$tan = _elm_lang$core$Native_Basics.tan; +var _elm_lang$core$Basics$sin = _elm_lang$core$Native_Basics.sin; +var _elm_lang$core$Basics$cos = _elm_lang$core$Native_Basics.cos; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['^'] = _elm_lang$core$Native_Basics.exp; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['%'] = _elm_lang$core$Native_Basics.mod; +var _elm_lang$core$Basics$rem = _elm_lang$core$Native_Basics.rem; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['//'] = _elm_lang$core$Native_Basics.div; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['/'] = _elm_lang$core$Native_Basics.floatDiv; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['*'] = _elm_lang$core$Native_Basics.mul; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['-'] = _elm_lang$core$Native_Basics.sub; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['+'] = _elm_lang$core$Native_Basics.add; +var _elm_lang$core$Basics$toPolar = _elm_lang$core$Native_Basics.toPolar; +var _elm_lang$core$Basics$fromPolar = _elm_lang$core$Native_Basics.fromPolar; +var _elm_lang$core$Basics$turns = _elm_lang$core$Native_Basics.turns; +var _elm_lang$core$Basics$degrees = _elm_lang$core$Native_Basics.degrees; +var _elm_lang$core$Basics$radians = function (t) { + return t; +}; +var _elm_lang$core$Basics$GT = {ctor: 'GT'}; +var _elm_lang$core$Basics$EQ = {ctor: 'EQ'}; +var _elm_lang$core$Basics$LT = {ctor: 'LT'}; +var _elm_lang$core$Basics$JustOneMore = function (a) { + return {ctor: 'JustOneMore', _0: a}; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Bitwise.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Bitwise.elmi new file mode 100644 index 0000000000000000000000000000000000000000..d5a17891caae8e6097886ceefd35c207fc8e987f GIT binary patch literal 727 zcmaiy%MOAt5Jk%)O4OM6A^reMb|%DyOLq+xXu`ulqb8j=9q7;1x zkcSwVsyH(6WXD^r`sNqgIuHg~DXUGkRNZmeBw zQ7(%6xp>VdtxV{{yE^fD0$6CjEFdC)m*0UELA+j literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Bitwise.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Bitwise.elmo new file mode 100644 index 0000000..91e7c15 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Bitwise.elmo @@ -0,0 +1,7 @@ +var _elm_lang$core$Bitwise$shiftRightZfBy = _elm_lang$core$Native_Bitwise.shiftRightZfBy; +var _elm_lang$core$Bitwise$shiftRightBy = _elm_lang$core$Native_Bitwise.shiftRightBy; +var _elm_lang$core$Bitwise$shiftLeftBy = _elm_lang$core$Native_Bitwise.shiftLeftBy; +var _elm_lang$core$Bitwise$complement = _elm_lang$core$Native_Bitwise.complement; +var _elm_lang$core$Bitwise$xor = _elm_lang$core$Native_Bitwise.xor; +var _elm_lang$core$Bitwise$or = _elm_lang$core$Native_Bitwise.or; +var _elm_lang$core$Bitwise$and = _elm_lang$core$Native_Bitwise.and; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Char.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Char.elmi new file mode 100644 index 0000000000000000000000000000000000000000..d0447a6722eb4bc16eae05682bf21dc1f8b5ec54 GIT binary patch literal 1214 zcmcJO!A`?442E6SwF9vO55f!V*l`$Qg3}%#>cWWB)l(B~@b;Q=GiBv}GLN~|fMzsghd5xW>|3_M(G^gMp7(zUiL`xT8whT~x}N+LD#M#k+Fm%t`b0 zm*N{(GPzm-=g1VyI1=)$v3wm_ApQg>udg5G9DJ)$%)})oCx*<|HhXQI7jekFv6Xfg zty@U^H)U{Ehz*^fADOY)!8_bvP!ZdYi=T}ET*dp;WA7)h@gz>b{h&`^dE_MePyM1> nO@?1?EmayZJ|f9T#hv44D7{hzc5+?{@$V%aP`|-2pA7#3_BEj6 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Char.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Char.elmo new file mode 100644 index 0000000..39837ec --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Char.elmo @@ -0,0 +1,42 @@ +var _elm_lang$core$Char$fromCode = _elm_lang$core$Native_Char.fromCode; +var _elm_lang$core$Char$toCode = _elm_lang$core$Native_Char.toCode; +var _elm_lang$core$Char$toLocaleLower = _elm_lang$core$Native_Char.toLocaleLower; +var _elm_lang$core$Char$toLocaleUpper = _elm_lang$core$Native_Char.toLocaleUpper; +var _elm_lang$core$Char$toLower = _elm_lang$core$Native_Char.toLower; +var _elm_lang$core$Char$toUpper = _elm_lang$core$Native_Char.toUpper; +var _elm_lang$core$Char$isBetween = F3( + function (low, high, $char) { + var code = _elm_lang$core$Char$toCode($char); + return (_elm_lang$core$Native_Utils.cmp( + code, + _elm_lang$core$Char$toCode(low)) > -1) && (_elm_lang$core$Native_Utils.cmp( + code, + _elm_lang$core$Char$toCode(high)) < 1); + }); +var _elm_lang$core$Char$isUpper = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('A'), + _elm_lang$core$Native_Utils.chr('Z')); +var _elm_lang$core$Char$isLower = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('a'), + _elm_lang$core$Native_Utils.chr('z')); +var _elm_lang$core$Char$isDigit = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('0'), + _elm_lang$core$Native_Utils.chr('9')); +var _elm_lang$core$Char$isOctDigit = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('0'), + _elm_lang$core$Native_Utils.chr('7')); +var _elm_lang$core$Char$isHexDigit = function ($char) { + return _elm_lang$core$Char$isDigit($char) || (A3( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('a'), + _elm_lang$core$Native_Utils.chr('f'), + $char) || A3( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('A'), + _elm_lang$core$Native_Utils.chr('F'), + $char)); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Color.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Color.elmi new file mode 100644 index 0000000000000000000000000000000000000000..fee8c26dadd19754fc3eb1c5e6e269cf699461e3 GIT binary patch literal 7497 zcmdT}O>f&U3{_)0b+YZSAJWTq>uo8pc0hm)SuZ;cisL0lmAJ4S6#4g)B~o8ayToQz zBo~{M^d3b?7RfN?{XT+p0naoS>np)GOOWHNta5n2f+vfrsz<6;a=veGVUngxpYt!ZJeWG;C2fIP^|4Vh%N0xeZ|kc>%cZKx#^tXSKveKZlZ>RYY<;f^ z#s@P$+Xeli2vs*fm^=)zh?#7+22xOiM~GdVBLk5=1!e~Z2`H+fy}Zy(pZ z*;c$M%FX@`4E_=LpVQH08H^j%?$rXM2zy%8+1aCKx}M(GdO(K1If&5E;a*7!=YWm6 zvZ=K(Dw&t^y)1Z}MAy7Sq(g#qL+jy%HQ3N{tZQq1^z5h~Sl;eG?rrV`a0k|ewU~6B PO|S&yFmLK3+&Szoaa9Ve literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Color.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Color.elmo new file mode 100644 index 0000000..077056a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Color.elmo @@ -0,0 +1,165 @@ +var _elm_lang$core$Color$fmod = F2( + function (f, n) { + var integer = _elm_lang$core$Basics$floor(f); + return (_elm_lang$core$Basics$toFloat( + A2(_elm_lang$core$Basics_ops['%'], integer, n)) + f) - _elm_lang$core$Basics$toFloat(integer); + }); +var _elm_lang$core$Color$rgbToHsl = F3( + function (red, green, blue) { + var b = _elm_lang$core$Basics$toFloat(blue) / 255; + var g = _elm_lang$core$Basics$toFloat(green) / 255; + var r = _elm_lang$core$Basics$toFloat(red) / 255; + var cMax = A2( + _elm_lang$core$Basics$max, + A2(_elm_lang$core$Basics$max, r, g), + b); + var cMin = A2( + _elm_lang$core$Basics$min, + A2(_elm_lang$core$Basics$min, r, g), + b); + var c = cMax - cMin; + var lightness = (cMax + cMin) / 2; + var saturation = _elm_lang$core$Native_Utils.eq(lightness, 0) ? 0 : (c / (1 - _elm_lang$core$Basics$abs((2 * lightness) - 1))); + var hue = _elm_lang$core$Basics$degrees(60) * (_elm_lang$core$Native_Utils.eq(cMax, r) ? A2(_elm_lang$core$Color$fmod, (g - b) / c, 6) : (_elm_lang$core$Native_Utils.eq(cMax, g) ? (((b - r) / c) + 2) : (((r - g) / c) + 4))); + return {ctor: '_Tuple3', _0: hue, _1: saturation, _2: lightness}; + }); +var _elm_lang$core$Color$hslToRgb = F3( + function (hue, saturation, lightness) { + var normHue = hue / _elm_lang$core$Basics$degrees(60); + var chroma = (1 - _elm_lang$core$Basics$abs((2 * lightness) - 1)) * saturation; + var x = chroma * (1 - _elm_lang$core$Basics$abs( + A2(_elm_lang$core$Color$fmod, normHue, 2) - 1)); + var _p0 = (_elm_lang$core$Native_Utils.cmp(normHue, 0) < 0) ? {ctor: '_Tuple3', _0: 0, _1: 0, _2: 0} : ((_elm_lang$core$Native_Utils.cmp(normHue, 1) < 0) ? {ctor: '_Tuple3', _0: chroma, _1: x, _2: 0} : ((_elm_lang$core$Native_Utils.cmp(normHue, 2) < 0) ? {ctor: '_Tuple3', _0: x, _1: chroma, _2: 0} : ((_elm_lang$core$Native_Utils.cmp(normHue, 3) < 0) ? {ctor: '_Tuple3', _0: 0, _1: chroma, _2: x} : ((_elm_lang$core$Native_Utils.cmp(normHue, 4) < 0) ? {ctor: '_Tuple3', _0: 0, _1: x, _2: chroma} : ((_elm_lang$core$Native_Utils.cmp(normHue, 5) < 0) ? {ctor: '_Tuple3', _0: x, _1: 0, _2: chroma} : ((_elm_lang$core$Native_Utils.cmp(normHue, 6) < 0) ? {ctor: '_Tuple3', _0: chroma, _1: 0, _2: x} : {ctor: '_Tuple3', _0: 0, _1: 0, _2: 0})))))); + var r = _p0._0; + var g = _p0._1; + var b = _p0._2; + var m = lightness - (chroma / 2); + return {ctor: '_Tuple3', _0: r + m, _1: g + m, _2: b + m}; + }); +var _elm_lang$core$Color$toRgb = function (color) { + var _p1 = color; + if (_p1.ctor === 'RGBA') { + return {red: _p1._0, green: _p1._1, blue: _p1._2, alpha: _p1._3}; + } else { + var _p2 = A3(_elm_lang$core$Color$hslToRgb, _p1._0, _p1._1, _p1._2); + var r = _p2._0; + var g = _p2._1; + var b = _p2._2; + return { + red: _elm_lang$core$Basics$round(255 * r), + green: _elm_lang$core$Basics$round(255 * g), + blue: _elm_lang$core$Basics$round(255 * b), + alpha: _p1._3 + }; + } +}; +var _elm_lang$core$Color$toHsl = function (color) { + var _p3 = color; + if (_p3.ctor === 'HSLA') { + return {hue: _p3._0, saturation: _p3._1, lightness: _p3._2, alpha: _p3._3}; + } else { + var _p4 = A3(_elm_lang$core$Color$rgbToHsl, _p3._0, _p3._1, _p3._2); + var h = _p4._0; + var s = _p4._1; + var l = _p4._2; + return {hue: h, saturation: s, lightness: l, alpha: _p3._3}; + } +}; +var _elm_lang$core$Color$HSLA = F4( + function (a, b, c, d) { + return {ctor: 'HSLA', _0: a, _1: b, _2: c, _3: d}; + }); +var _elm_lang$core$Color$hsla = F4( + function (hue, saturation, lightness, alpha) { + return A4( + _elm_lang$core$Color$HSLA, + hue - _elm_lang$core$Basics$turns( + _elm_lang$core$Basics$toFloat( + _elm_lang$core$Basics$floor(hue / (2 * _elm_lang$core$Basics$pi)))), + saturation, + lightness, + alpha); + }); +var _elm_lang$core$Color$hsl = F3( + function (hue, saturation, lightness) { + return A4(_elm_lang$core$Color$hsla, hue, saturation, lightness, 1); + }); +var _elm_lang$core$Color$complement = function (color) { + var _p5 = color; + if (_p5.ctor === 'HSLA') { + return A4( + _elm_lang$core$Color$hsla, + _p5._0 + _elm_lang$core$Basics$degrees(180), + _p5._1, + _p5._2, + _p5._3); + } else { + var _p6 = A3(_elm_lang$core$Color$rgbToHsl, _p5._0, _p5._1, _p5._2); + var h = _p6._0; + var s = _p6._1; + var l = _p6._2; + return A4( + _elm_lang$core$Color$hsla, + h + _elm_lang$core$Basics$degrees(180), + s, + l, + _p5._3); + } +}; +var _elm_lang$core$Color$grayscale = function (p) { + return A4(_elm_lang$core$Color$HSLA, 0, 0, 1 - p, 1); +}; +var _elm_lang$core$Color$greyscale = function (p) { + return A4(_elm_lang$core$Color$HSLA, 0, 0, 1 - p, 1); +}; +var _elm_lang$core$Color$RGBA = F4( + function (a, b, c, d) { + return {ctor: 'RGBA', _0: a, _1: b, _2: c, _3: d}; + }); +var _elm_lang$core$Color$rgba = _elm_lang$core$Color$RGBA; +var _elm_lang$core$Color$rgb = F3( + function (r, g, b) { + return A4(_elm_lang$core$Color$RGBA, r, g, b, 1); + }); +var _elm_lang$core$Color$lightRed = A4(_elm_lang$core$Color$RGBA, 239, 41, 41, 1); +var _elm_lang$core$Color$red = A4(_elm_lang$core$Color$RGBA, 204, 0, 0, 1); +var _elm_lang$core$Color$darkRed = A4(_elm_lang$core$Color$RGBA, 164, 0, 0, 1); +var _elm_lang$core$Color$lightOrange = A4(_elm_lang$core$Color$RGBA, 252, 175, 62, 1); +var _elm_lang$core$Color$orange = A4(_elm_lang$core$Color$RGBA, 245, 121, 0, 1); +var _elm_lang$core$Color$darkOrange = A4(_elm_lang$core$Color$RGBA, 206, 92, 0, 1); +var _elm_lang$core$Color$lightYellow = A4(_elm_lang$core$Color$RGBA, 255, 233, 79, 1); +var _elm_lang$core$Color$yellow = A4(_elm_lang$core$Color$RGBA, 237, 212, 0, 1); +var _elm_lang$core$Color$darkYellow = A4(_elm_lang$core$Color$RGBA, 196, 160, 0, 1); +var _elm_lang$core$Color$lightGreen = A4(_elm_lang$core$Color$RGBA, 138, 226, 52, 1); +var _elm_lang$core$Color$green = A4(_elm_lang$core$Color$RGBA, 115, 210, 22, 1); +var _elm_lang$core$Color$darkGreen = A4(_elm_lang$core$Color$RGBA, 78, 154, 6, 1); +var _elm_lang$core$Color$lightBlue = A4(_elm_lang$core$Color$RGBA, 114, 159, 207, 1); +var _elm_lang$core$Color$blue = A4(_elm_lang$core$Color$RGBA, 52, 101, 164, 1); +var _elm_lang$core$Color$darkBlue = A4(_elm_lang$core$Color$RGBA, 32, 74, 135, 1); +var _elm_lang$core$Color$lightPurple = A4(_elm_lang$core$Color$RGBA, 173, 127, 168, 1); +var _elm_lang$core$Color$purple = A4(_elm_lang$core$Color$RGBA, 117, 80, 123, 1); +var _elm_lang$core$Color$darkPurple = A4(_elm_lang$core$Color$RGBA, 92, 53, 102, 1); +var _elm_lang$core$Color$lightBrown = A4(_elm_lang$core$Color$RGBA, 233, 185, 110, 1); +var _elm_lang$core$Color$brown = A4(_elm_lang$core$Color$RGBA, 193, 125, 17, 1); +var _elm_lang$core$Color$darkBrown = A4(_elm_lang$core$Color$RGBA, 143, 89, 2, 1); +var _elm_lang$core$Color$black = A4(_elm_lang$core$Color$RGBA, 0, 0, 0, 1); +var _elm_lang$core$Color$white = A4(_elm_lang$core$Color$RGBA, 255, 255, 255, 1); +var _elm_lang$core$Color$lightGrey = A4(_elm_lang$core$Color$RGBA, 238, 238, 236, 1); +var _elm_lang$core$Color$grey = A4(_elm_lang$core$Color$RGBA, 211, 215, 207, 1); +var _elm_lang$core$Color$darkGrey = A4(_elm_lang$core$Color$RGBA, 186, 189, 182, 1); +var _elm_lang$core$Color$lightGray = A4(_elm_lang$core$Color$RGBA, 238, 238, 236, 1); +var _elm_lang$core$Color$gray = A4(_elm_lang$core$Color$RGBA, 211, 215, 207, 1); +var _elm_lang$core$Color$darkGray = A4(_elm_lang$core$Color$RGBA, 186, 189, 182, 1); +var _elm_lang$core$Color$lightCharcoal = A4(_elm_lang$core$Color$RGBA, 136, 138, 133, 1); +var _elm_lang$core$Color$charcoal = A4(_elm_lang$core$Color$RGBA, 85, 87, 83, 1); +var _elm_lang$core$Color$darkCharcoal = A4(_elm_lang$core$Color$RGBA, 46, 52, 54, 1); +var _elm_lang$core$Color$Radial = F5( + function (a, b, c, d, e) { + return {ctor: 'Radial', _0: a, _1: b, _2: c, _3: d, _4: e}; + }); +var _elm_lang$core$Color$radial = _elm_lang$core$Color$Radial; +var _elm_lang$core$Color$Linear = F3( + function (a, b, c) { + return {ctor: 'Linear', _0: a, _1: b, _2: c}; + }); +var _elm_lang$core$Color$linear = _elm_lang$core$Color$Linear; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Date.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Date.elmi new file mode 100644 index 0000000000000000000000000000000000000000..de76ef858a4fda1bd3147799e614930657cd84eb GIT binary patch literal 4329 zcmb_fTW;Gh5Ts36bss>{BlG~hK>h+425QtvQ5(oN>(I3jNepBuMQ&d@=IkyDH-#kn z$E)FTxO^>ll!|_z!q+7H&uv+KDNX$=d}lk?*kFGQ|LWboan+`63UX6<>$XJ&Pc=Vz zNFaN*ra}K%BISuD*xs`>H6*BF1#> zeouo#wlLgR0iCTyFdu@eUYQ!^(*A_Gra9>AM?|I96u(||)NR$3=yu&S=d4H0$3NOHUweP0!^cd}ff7cW28Pr6rl@#`CZP5-9u#Vp?&X>%br>$MW1 z_REB=CKTmtS-KIoRR(#k5y#D!;u5DQDk#&_qnb_69184_#Jx6L)YfqV^aXg&qr@1rx+-m>^cg1hG0Mh*dH{C$;>K-yc3V B^Wp#i literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Date.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Date.elmo new file mode 100644 index 0000000..94ac728 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Date.elmo @@ -0,0 +1,32 @@ +var _elm_lang$core$Date$millisecond = _elm_lang$core$Native_Date.millisecond; +var _elm_lang$core$Date$second = _elm_lang$core$Native_Date.second; +var _elm_lang$core$Date$minute = _elm_lang$core$Native_Date.minute; +var _elm_lang$core$Date$hour = _elm_lang$core$Native_Date.hour; +var _elm_lang$core$Date$dayOfWeek = _elm_lang$core$Native_Date.dayOfWeek; +var _elm_lang$core$Date$day = _elm_lang$core$Native_Date.day; +var _elm_lang$core$Date$month = _elm_lang$core$Native_Date.month; +var _elm_lang$core$Date$year = _elm_lang$core$Native_Date.year; +var _elm_lang$core$Date$fromTime = _elm_lang$core$Native_Date.fromTime; +var _elm_lang$core$Date$toTime = _elm_lang$core$Native_Date.toTime; +var _elm_lang$core$Date$fromString = _elm_lang$core$Native_Date.fromString; +var _elm_lang$core$Date$now = A2(_elm_lang$core$Task$map, _elm_lang$core$Date$fromTime, _elm_lang$core$Time$now); +var _elm_lang$core$Date$Date = {ctor: 'Date'}; +var _elm_lang$core$Date$Sun = {ctor: 'Sun'}; +var _elm_lang$core$Date$Sat = {ctor: 'Sat'}; +var _elm_lang$core$Date$Fri = {ctor: 'Fri'}; +var _elm_lang$core$Date$Thu = {ctor: 'Thu'}; +var _elm_lang$core$Date$Wed = {ctor: 'Wed'}; +var _elm_lang$core$Date$Tue = {ctor: 'Tue'}; +var _elm_lang$core$Date$Mon = {ctor: 'Mon'}; +var _elm_lang$core$Date$Dec = {ctor: 'Dec'}; +var _elm_lang$core$Date$Nov = {ctor: 'Nov'}; +var _elm_lang$core$Date$Oct = {ctor: 'Oct'}; +var _elm_lang$core$Date$Sep = {ctor: 'Sep'}; +var _elm_lang$core$Date$Aug = {ctor: 'Aug'}; +var _elm_lang$core$Date$Jul = {ctor: 'Jul'}; +var _elm_lang$core$Date$Jun = {ctor: 'Jun'}; +var _elm_lang$core$Date$May = {ctor: 'May'}; +var _elm_lang$core$Date$Apr = {ctor: 'Apr'}; +var _elm_lang$core$Date$Mar = {ctor: 'Mar'}; +var _elm_lang$core$Date$Feb = {ctor: 'Feb'}; +var _elm_lang$core$Date$Jan = {ctor: 'Jan'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Debug.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Debug.elmi new file mode 100644 index 0000000000000000000000000000000000000000..72d040c18110ad36114cf191d651096ef07c6687 GIT binary patch literal 338 zcmZQzKmmeK9wU_INX^OB%}LBlhw@pH^NUiUY$hnpz?_p0lV@N}E=nxUfXcv3fvIHk zODxGOgXw2=Nlhw+X=H{OYGuU$)5e&{zzoyMz~YlxTmmx}p@N_Ss1~TZ;Ks29mlS2@ Wr6UZ2sssB4T@{jxFf>5*At(T8(i;8% literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Debug.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Debug.elmo new file mode 100644 index 0000000..ea00ee2 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Debug.elmo @@ -0,0 +1,2 @@ +var _elm_lang$core$Debug$crash = _elm_lang$core$Native_Debug.crash; +var _elm_lang$core$Debug$log = _elm_lang$core$Native_Debug.log; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Dict.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Dict.elmi new file mode 100644 index 0000000000000000000000000000000000000000..c7581927b9c014c635a8b26cc98b8b544154212a GIT binary patch literal 11821 zcmeHNOK;;g5SC&|w%cusb`Sj(y|lMIx@pk`vN?Dc=rN#dIx9pELz06{e|=?fK62#9 zYsjXErid>lhvdA6kI{Hu=l3J^eEOfsH2WnL`91Z6RZ&W6|4jd0D6?(-gx?n<8DOSljkArb#BYdSsWgRr4fouvT)Vc?#CaW}_!(vb@(k1P}75!cg=m(w#Kj zy0}Ryjb*kei);_LqWQsfVrT$INDY`HT8JuH0VkjVLkw8>K|IA^3^bx!Q72lR;kAr+ zFf7(ZAM3KQAJP4d{;%G>^Dx5~-UJA}4rw#v z8AF@MqW7)Sp3PeDXDXn^>CJ_5&TpjHa8aY1%Vd3y@b)rslDnBNV{AszkE!NTw<4}sGB1{y;O%wq>)a_3TGa~L0QIicO zOSwKqxn(4clATZ6!{f*yPI)`9#bW1>zu~>tC`GScAU&wDU#~*m|~dg z@S-U2#E9Zu9H*nj=9msJBJL4U)9pdM&n(mVW>sX(i&8WOW!s+%A}(l<=F~ghGC{s+ z5uG1oUhPWRJ~);|QI8p#<4Y4E@c_qQzGANX;$V-k%on2xHhkfN23&`dD!m&ChHBQ-HZrs(Em40w9?X}3+~uQW|xlbN{CfK%6L^L?Pq zn6bSpFw~$nRL)LPt<&)hO42Wqo)}={jmPg(X_#Oo3BafT?@%Fma)GxsqrEgpYL+f_ zA=&>;eY2!enL^uw@l)7r6zsODv+$P9c9O8lnOmmX>!M~W?9E!UHE`xsR#kgTxj0dy zgJ)=zBhjN+`c8AyKKm_ejoWHO)TCYY%>}y@*FIpJAKL-J=oxaBh3=yfll0$b;>+Jj z{rOsM#4fG*k)Zh*HAQTq;n>BXqkhFUKEQ!RCZQ7p^=@4ueS_;`3NWANM>Vi92HIQ_ z!1$t-p6SPW{M7m*iyXL_lZ(X>@sz8~v*t_je`@pOpM+t;ezPCAnG1Uz4@WoDp^%~H z)8HFoRLb@GrDqi)>@^(sh^XmsY<#3G`+!sOD78$Tp$0X#4<;q* z2l3@{e=-8F!|K(`TBqU;OkVb;l-r`Ln=izRrVK{!`KW-o_{#nqBN6t91hbbKVWm?T zWBzH3>N2yZimWV09k+&7)8u`QZ@9C4Wmo%=wma&WjfiTtER$t6g_-wz4!ooDIyK;9 z*YsX&gez3FY%ch>z0dTD^N~qZydK0Hi zk>>D0w;nAk%y)yDbknQh4p4< literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Dict.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Dict.elmo new file mode 100644 index 0000000..e65b556 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Dict.elmo @@ -0,0 +1,893 @@ +var _elm_lang$core$Dict$foldr = F3( + function (f, acc, t) { + foldr: + while (true) { + var _p0 = t; + if (_p0.ctor === 'RBEmpty_elm_builtin') { + return acc; + } else { + var _v1 = f, + _v2 = A3( + f, + _p0._1, + _p0._2, + A3(_elm_lang$core$Dict$foldr, f, acc, _p0._4)), + _v3 = _p0._3; + f = _v1; + acc = _v2; + t = _v3; + continue foldr; + } + } + }); +var _elm_lang$core$Dict$keys = function (dict) { + return A3( + _elm_lang$core$Dict$foldr, + F3( + function (key, value, keyList) { + return A2(_elm_lang$core$List_ops['::'], key, keyList); + }), + _elm_lang$core$Native_List.fromArray( + []), + dict); +}; +var _elm_lang$core$Dict$values = function (dict) { + return A3( + _elm_lang$core$Dict$foldr, + F3( + function (key, value, valueList) { + return A2(_elm_lang$core$List_ops['::'], value, valueList); + }), + _elm_lang$core$Native_List.fromArray( + []), + dict); +}; +var _elm_lang$core$Dict$toList = function (dict) { + return A3( + _elm_lang$core$Dict$foldr, + F3( + function (key, value, list) { + return A2( + _elm_lang$core$List_ops['::'], + {ctor: '_Tuple2', _0: key, _1: value}, + list); + }), + _elm_lang$core$Native_List.fromArray( + []), + dict); +}; +var _elm_lang$core$Dict$foldl = F3( + function (f, acc, dict) { + foldl: + while (true) { + var _p1 = dict; + if (_p1.ctor === 'RBEmpty_elm_builtin') { + return acc; + } else { + var _v5 = f, + _v6 = A3( + f, + _p1._1, + _p1._2, + A3(_elm_lang$core$Dict$foldl, f, acc, _p1._3)), + _v7 = _p1._4; + f = _v5; + acc = _v6; + dict = _v7; + continue foldl; + } + } + }); +var _elm_lang$core$Dict$merge = F6( + function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) { + var stepState = F3( + function (rKey, rValue, _p2) { + stepState: + while (true) { + var _p3 = _p2; + var _p9 = _p3._1; + var _p8 = _p3._0; + var _p4 = _p8; + if (_p4.ctor === '[]') { + return { + ctor: '_Tuple2', + _0: _p8, + _1: A3(rightStep, rKey, rValue, _p9) + }; + } else { + var _p7 = _p4._1; + var _p6 = _p4._0._1; + var _p5 = _p4._0._0; + if (_elm_lang$core$Native_Utils.cmp(_p5, rKey) < 0) { + var _v10 = rKey, + _v11 = rValue, + _v12 = { + ctor: '_Tuple2', + _0: _p7, + _1: A3(leftStep, _p5, _p6, _p9) + }; + rKey = _v10; + rValue = _v11; + _p2 = _v12; + continue stepState; + } else { + if (_elm_lang$core$Native_Utils.cmp(_p5, rKey) > 0) { + return { + ctor: '_Tuple2', + _0: _p8, + _1: A3(rightStep, rKey, rValue, _p9) + }; + } else { + return { + ctor: '_Tuple2', + _0: _p7, + _1: A4(bothStep, _p5, _p6, rValue, _p9) + }; + } + } + } + } + }); + var _p10 = A3( + _elm_lang$core$Dict$foldl, + stepState, + { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$toList(leftDict), + _1: initialResult + }, + rightDict); + var leftovers = _p10._0; + var intermediateResult = _p10._1; + return A3( + _elm_lang$core$List$foldl, + F2( + function (_p11, result) { + var _p12 = _p11; + return A3(leftStep, _p12._0, _p12._1, result); + }), + intermediateResult, + leftovers); + }); +var _elm_lang$core$Dict$reportRemBug = F4( + function (msg, c, lgot, rgot) { + return _elm_lang$core$Native_Debug.crash( + _elm_lang$core$String$concat( + _elm_lang$core$Native_List.fromArray( + [ + 'Internal red-black tree invariant violated, expected ', + msg, + ' and got ', + _elm_lang$core$Basics$toString(c), + '/', + lgot, + '/', + rgot, + '\nPlease report this bug to ' + ]))); + }); +var _elm_lang$core$Dict$isBBlack = function (dict) { + var _p13 = dict; + _v14_2: + do { + if (_p13.ctor === 'RBNode_elm_builtin') { + if (_p13._0.ctor === 'BBlack') { + return true; + } else { + break _v14_2; + } + } else { + if (_p13._0.ctor === 'LBBlack') { + return true; + } else { + break _v14_2; + } + } + } while(false); + return false; +}; +var _elm_lang$core$Dict$sizeHelp = F2( + function (n, dict) { + sizeHelp: + while (true) { + var _p14 = dict; + if (_p14.ctor === 'RBEmpty_elm_builtin') { + return n; + } else { + var _v16 = A2(_elm_lang$core$Dict$sizeHelp, n + 1, _p14._4), + _v17 = _p14._3; + n = _v16; + dict = _v17; + continue sizeHelp; + } + } + }); +var _elm_lang$core$Dict$size = function (dict) { + return A2(_elm_lang$core$Dict$sizeHelp, 0, dict); +}; +var _elm_lang$core$Dict$get = F2( + function (targetKey, dict) { + get: + while (true) { + var _p15 = dict; + if (_p15.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Maybe$Nothing; + } else { + var _p16 = A2(_elm_lang$core$Basics$compare, targetKey, _p15._1); + switch (_p16.ctor) { + case 'LT': + var _v20 = targetKey, + _v21 = _p15._3; + targetKey = _v20; + dict = _v21; + continue get; + case 'EQ': + return _elm_lang$core$Maybe$Just(_p15._2); + default: + var _v22 = targetKey, + _v23 = _p15._4; + targetKey = _v22; + dict = _v23; + continue get; + } + } + } + }); +var _elm_lang$core$Dict$member = F2( + function (key, dict) { + var _p17 = A2(_elm_lang$core$Dict$get, key, dict); + if (_p17.ctor === 'Just') { + return true; + } else { + return false; + } + }); +var _elm_lang$core$Dict$maxWithDefault = F3( + function (k, v, r) { + maxWithDefault: + while (true) { + var _p18 = r; + if (_p18.ctor === 'RBEmpty_elm_builtin') { + return {ctor: '_Tuple2', _0: k, _1: v}; + } else { + var _v26 = _p18._1, + _v27 = _p18._2, + _v28 = _p18._4; + k = _v26; + v = _v27; + r = _v28; + continue maxWithDefault; + } + } + }); +var _elm_lang$core$Dict$NBlack = {ctor: 'NBlack'}; +var _elm_lang$core$Dict$BBlack = {ctor: 'BBlack'}; +var _elm_lang$core$Dict$Black = {ctor: 'Black'}; +var _elm_lang$core$Dict$blackish = function (t) { + var _p19 = t; + if (_p19.ctor === 'RBNode_elm_builtin') { + var _p20 = _p19._0; + return _elm_lang$core$Native_Utils.eq(_p20, _elm_lang$core$Dict$Black) || _elm_lang$core$Native_Utils.eq(_p20, _elm_lang$core$Dict$BBlack); + } else { + return true; + } +}; +var _elm_lang$core$Dict$Red = {ctor: 'Red'}; +var _elm_lang$core$Dict$moreBlack = function (color) { + var _p21 = color; + switch (_p21.ctor) { + case 'Black': + return _elm_lang$core$Dict$BBlack; + case 'Red': + return _elm_lang$core$Dict$Black; + case 'NBlack': + return _elm_lang$core$Dict$Red; + default: + return _elm_lang$core$Native_Debug.crash('Can\'t make a double black node more black!'); + } +}; +var _elm_lang$core$Dict$lessBlack = function (color) { + var _p22 = color; + switch (_p22.ctor) { + case 'BBlack': + return _elm_lang$core$Dict$Black; + case 'Black': + return _elm_lang$core$Dict$Red; + case 'Red': + return _elm_lang$core$Dict$NBlack; + default: + return _elm_lang$core$Native_Debug.crash('Can\'t make a negative black node less black!'); + } +}; +var _elm_lang$core$Dict$LBBlack = {ctor: 'LBBlack'}; +var _elm_lang$core$Dict$LBlack = {ctor: 'LBlack'}; +var _elm_lang$core$Dict$RBEmpty_elm_builtin = function (a) { + return {ctor: 'RBEmpty_elm_builtin', _0: a}; +}; +var _elm_lang$core$Dict$empty = _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); +var _elm_lang$core$Dict$isEmpty = function (dict) { + return _elm_lang$core$Native_Utils.eq(dict, _elm_lang$core$Dict$empty); +}; +var _elm_lang$core$Dict$RBNode_elm_builtin = F5( + function (a, b, c, d, e) { + return {ctor: 'RBNode_elm_builtin', _0: a, _1: b, _2: c, _3: d, _4: e}; + }); +var _elm_lang$core$Dict$ensureBlackRoot = function (dict) { + var _p23 = dict; + if ((_p23.ctor === 'RBNode_elm_builtin') && (_p23._0.ctor === 'Red')) { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p23._1, _p23._2, _p23._3, _p23._4); + } else { + return dict; + } +}; +var _elm_lang$core$Dict$lessBlackTree = function (dict) { + var _p24 = dict; + if (_p24.ctor === 'RBNode_elm_builtin') { + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$lessBlack(_p24._0), + _p24._1, + _p24._2, + _p24._3, + _p24._4); + } else { + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + } +}; +var _elm_lang$core$Dict$balancedTree = function (col) { + return function (xk) { + return function (xv) { + return function (yk) { + return function (yv) { + return function (zk) { + return function (zv) { + return function (a) { + return function (b) { + return function (c) { + return function (d) { + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$lessBlack(col), + yk, + yv, + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, xk, xv, a, b), + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, zk, zv, c, d)); + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; +}; +var _elm_lang$core$Dict$blacken = function (t) { + var _p25 = t; + if (_p25.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + } else { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p25._1, _p25._2, _p25._3, _p25._4); + } +}; +var _elm_lang$core$Dict$redden = function (t) { + var _p26 = t; + if (_p26.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Native_Debug.crash('can\'t make a Leaf red'); + } else { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Red, _p26._1, _p26._2, _p26._3, _p26._4); + } +}; +var _elm_lang$core$Dict$balanceHelp = function (tree) { + var _p27 = tree; + _v36_6: + do { + _v36_5: + do { + _v36_4: + do { + _v36_3: + do { + _v36_2: + do { + _v36_1: + do { + _v36_0: + do { + if (_p27.ctor === 'RBNode_elm_builtin') { + if (_p27._3.ctor === 'RBNode_elm_builtin') { + if (_p27._4.ctor === 'RBNode_elm_builtin') { + switch (_p27._3._0.ctor) { + case 'Red': + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + break _v36_6; + } + } + } + } + case 'NBlack': + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + if (((((_p27._0.ctor === 'BBlack') && (_p27._4._3.ctor === 'RBNode_elm_builtin')) && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + break _v36_6; + } + } + } + default: + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + break _v36_6; + } + } + } + case 'NBlack': + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + if (((((_p27._0.ctor === 'BBlack') && (_p27._3._3.ctor === 'RBNode_elm_builtin')) && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + } + } + case 'NBlack': + if (_p27._0.ctor === 'BBlack') { + if ((((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + if ((((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + } + } else { + break _v36_6; + } + default: + if (((((_p27._0.ctor === 'BBlack') && (_p27._3._3.ctor === 'RBNode_elm_builtin')) && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + } + default: + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + break _v36_6; + } + } + case 'NBlack': + if (((((_p27._0.ctor === 'BBlack') && (_p27._4._3.ctor === 'RBNode_elm_builtin')) && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + break _v36_6; + } + default: + break _v36_6; + } + } + } else { + switch (_p27._3._0.ctor) { + case 'Red': + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + break _v36_6; + } + } + case 'NBlack': + if (((((_p27._0.ctor === 'BBlack') && (_p27._3._3.ctor === 'RBNode_elm_builtin')) && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + default: + break _v36_6; + } + } + } else { + if (_p27._4.ctor === 'RBNode_elm_builtin') { + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + break _v36_6; + } + } + case 'NBlack': + if (((((_p27._0.ctor === 'BBlack') && (_p27._4._3.ctor === 'RBNode_elm_builtin')) && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + break _v36_6; + } + default: + break _v36_6; + } + } else { + break _v36_6; + } + } + } else { + break _v36_6; + } + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._3._3._1)(_p27._3._3._2)(_p27._3._1)(_p27._3._2)(_p27._1)(_p27._2)(_p27._3._3._3)(_p27._3._3._4)(_p27._3._4)(_p27._4); + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._3._1)(_p27._3._2)(_p27._3._4._1)(_p27._3._4._2)(_p27._1)(_p27._2)(_p27._3._3)(_p27._3._4._3)(_p27._3._4._4)(_p27._4); + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._1)(_p27._2)(_p27._4._3._1)(_p27._4._3._2)(_p27._4._1)(_p27._4._2)(_p27._3)(_p27._4._3._3)(_p27._4._3._4)(_p27._4._4); + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._1)(_p27._2)(_p27._4._1)(_p27._4._2)(_p27._4._4._1)(_p27._4._4._2)(_p27._3)(_p27._4._3)(_p27._4._4._3)(_p27._4._4._4); + } while(false); + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$Black, + _p27._4._3._1, + _p27._4._3._2, + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p27._1, _p27._2, _p27._3, _p27._4._3._3), + A5( + _elm_lang$core$Dict$balance, + _elm_lang$core$Dict$Black, + _p27._4._1, + _p27._4._2, + _p27._4._3._4, + _elm_lang$core$Dict$redden(_p27._4._4))); + } while(false); + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$Black, + _p27._3._4._1, + _p27._3._4._2, + A5( + _elm_lang$core$Dict$balance, + _elm_lang$core$Dict$Black, + _p27._3._1, + _p27._3._2, + _elm_lang$core$Dict$redden(_p27._3._3), + _p27._3._4._3), + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p27._1, _p27._2, _p27._3._4._4, _p27._4)); + } while(false); + return tree; +}; +var _elm_lang$core$Dict$balance = F5( + function (c, k, v, l, r) { + var tree = A5(_elm_lang$core$Dict$RBNode_elm_builtin, c, k, v, l, r); + return _elm_lang$core$Dict$blackish(tree) ? _elm_lang$core$Dict$balanceHelp(tree) : tree; + }); +var _elm_lang$core$Dict$bubble = F5( + function (c, k, v, l, r) { + return (_elm_lang$core$Dict$isBBlack(l) || _elm_lang$core$Dict$isBBlack(r)) ? A5( + _elm_lang$core$Dict$balance, + _elm_lang$core$Dict$moreBlack(c), + k, + v, + _elm_lang$core$Dict$lessBlackTree(l), + _elm_lang$core$Dict$lessBlackTree(r)) : A5(_elm_lang$core$Dict$RBNode_elm_builtin, c, k, v, l, r); + }); +var _elm_lang$core$Dict$removeMax = F5( + function (c, k, v, l, r) { + var _p28 = r; + if (_p28.ctor === 'RBEmpty_elm_builtin') { + return A3(_elm_lang$core$Dict$rem, c, l, r); + } else { + return A5( + _elm_lang$core$Dict$bubble, + c, + k, + v, + l, + A5(_elm_lang$core$Dict$removeMax, _p28._0, _p28._1, _p28._2, _p28._3, _p28._4)); + } + }); +var _elm_lang$core$Dict$rem = F3( + function (color, left, right) { + var _p29 = {ctor: '_Tuple2', _0: left, _1: right}; + if (_p29._0.ctor === 'RBEmpty_elm_builtin') { + if (_p29._1.ctor === 'RBEmpty_elm_builtin') { + var _p30 = color; + switch (_p30.ctor) { + case 'Red': + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + case 'Black': + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBBlack); + default: + return _elm_lang$core$Native_Debug.crash('cannot have bblack or nblack nodes at this point'); + } + } else { + var _p33 = _p29._1._0; + var _p32 = _p29._0._0; + var _p31 = {ctor: '_Tuple3', _0: color, _1: _p32, _2: _p33}; + if ((((_p31.ctor === '_Tuple3') && (_p31._0.ctor === 'Black')) && (_p31._1.ctor === 'LBlack')) && (_p31._2.ctor === 'Red')) { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p29._1._1, _p29._1._2, _p29._1._3, _p29._1._4); + } else { + return A4( + _elm_lang$core$Dict$reportRemBug, + 'Black/LBlack/Red', + color, + _elm_lang$core$Basics$toString(_p32), + _elm_lang$core$Basics$toString(_p33)); + } + } + } else { + if (_p29._1.ctor === 'RBEmpty_elm_builtin') { + var _p36 = _p29._1._0; + var _p35 = _p29._0._0; + var _p34 = {ctor: '_Tuple3', _0: color, _1: _p35, _2: _p36}; + if ((((_p34.ctor === '_Tuple3') && (_p34._0.ctor === 'Black')) && (_p34._1.ctor === 'Red')) && (_p34._2.ctor === 'LBlack')) { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p29._0._1, _p29._0._2, _p29._0._3, _p29._0._4); + } else { + return A4( + _elm_lang$core$Dict$reportRemBug, + 'Black/Red/LBlack', + color, + _elm_lang$core$Basics$toString(_p35), + _elm_lang$core$Basics$toString(_p36)); + } + } else { + var _p40 = _p29._0._2; + var _p39 = _p29._0._4; + var _p38 = _p29._0._1; + var newLeft = A5(_elm_lang$core$Dict$removeMax, _p29._0._0, _p38, _p40, _p29._0._3, _p39); + var _p37 = A3(_elm_lang$core$Dict$maxWithDefault, _p38, _p40, _p39); + var k = _p37._0; + var v = _p37._1; + return A5(_elm_lang$core$Dict$bubble, color, k, v, newLeft, right); + } + } + }); +var _elm_lang$core$Dict$map = F2( + function (f, dict) { + var _p41 = dict; + if (_p41.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + } else { + var _p42 = _p41._1; + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _p41._0, + _p42, + A2(f, _p42, _p41._2), + A2(_elm_lang$core$Dict$map, f, _p41._3), + A2(_elm_lang$core$Dict$map, f, _p41._4)); + } + }); +var _elm_lang$core$Dict$Same = {ctor: 'Same'}; +var _elm_lang$core$Dict$Remove = {ctor: 'Remove'}; +var _elm_lang$core$Dict$Insert = {ctor: 'Insert'}; +var _elm_lang$core$Dict$update = F3( + function (k, alter, dict) { + var up = function (dict) { + var _p43 = dict; + if (_p43.ctor === 'RBEmpty_elm_builtin') { + var _p44 = alter(_elm_lang$core$Maybe$Nothing); + if (_p44.ctor === 'Nothing') { + return {ctor: '_Tuple2', _0: _elm_lang$core$Dict$Same, _1: _elm_lang$core$Dict$empty}; + } else { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Insert, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Red, k, _p44._0, _elm_lang$core$Dict$empty, _elm_lang$core$Dict$empty) + }; + } + } else { + var _p55 = _p43._2; + var _p54 = _p43._4; + var _p53 = _p43._3; + var _p52 = _p43._1; + var _p51 = _p43._0; + var _p45 = A2(_elm_lang$core$Basics$compare, k, _p52); + switch (_p45.ctor) { + case 'EQ': + var _p46 = alter( + _elm_lang$core$Maybe$Just(_p55)); + if (_p46.ctor === 'Nothing') { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Remove, + _1: A3(_elm_lang$core$Dict$rem, _p51, _p53, _p54) + }; + } else { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Same, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _p51, _p52, _p46._0, _p53, _p54) + }; + } + case 'LT': + var _p47 = up(_p53); + var flag = _p47._0; + var newLeft = _p47._1; + var _p48 = flag; + switch (_p48.ctor) { + case 'Same': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Same, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _p51, _p52, _p55, newLeft, _p54) + }; + case 'Insert': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Insert, + _1: A5(_elm_lang$core$Dict$balance, _p51, _p52, _p55, newLeft, _p54) + }; + default: + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Remove, + _1: A5(_elm_lang$core$Dict$bubble, _p51, _p52, _p55, newLeft, _p54) + }; + } + default: + var _p49 = up(_p54); + var flag = _p49._0; + var newRight = _p49._1; + var _p50 = flag; + switch (_p50.ctor) { + case 'Same': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Same, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _p51, _p52, _p55, _p53, newRight) + }; + case 'Insert': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Insert, + _1: A5(_elm_lang$core$Dict$balance, _p51, _p52, _p55, _p53, newRight) + }; + default: + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Remove, + _1: A5(_elm_lang$core$Dict$bubble, _p51, _p52, _p55, _p53, newRight) + }; + } + } + } + }; + var _p56 = up(dict); + var flag = _p56._0; + var updatedDict = _p56._1; + var _p57 = flag; + switch (_p57.ctor) { + case 'Same': + return updatedDict; + case 'Insert': + return _elm_lang$core$Dict$ensureBlackRoot(updatedDict); + default: + return _elm_lang$core$Dict$blacken(updatedDict); + } + }); +var _elm_lang$core$Dict$insert = F3( + function (key, value, dict) { + return A3( + _elm_lang$core$Dict$update, + key, + _elm_lang$core$Basics$always( + _elm_lang$core$Maybe$Just(value)), + dict); + }); +var _elm_lang$core$Dict$singleton = F2( + function (key, value) { + return A3(_elm_lang$core$Dict$insert, key, value, _elm_lang$core$Dict$empty); + }); +var _elm_lang$core$Dict$union = F2( + function (t1, t2) { + return A3(_elm_lang$core$Dict$foldl, _elm_lang$core$Dict$insert, t2, t1); + }); +var _elm_lang$core$Dict$filter = F2( + function (predicate, dictionary) { + var add = F3( + function (key, value, dict) { + return A2(predicate, key, value) ? A3(_elm_lang$core$Dict$insert, key, value, dict) : dict; + }); + return A3(_elm_lang$core$Dict$foldl, add, _elm_lang$core$Dict$empty, dictionary); + }); +var _elm_lang$core$Dict$intersect = F2( + function (t1, t2) { + return A2( + _elm_lang$core$Dict$filter, + F2( + function (k, _p58) { + return A2(_elm_lang$core$Dict$member, k, t2); + }), + t1); + }); +var _elm_lang$core$Dict$partition = F2( + function (predicate, dict) { + var add = F3( + function (key, value, _p59) { + var _p60 = _p59; + var _p62 = _p60._1; + var _p61 = _p60._0; + return A2(predicate, key, value) ? { + ctor: '_Tuple2', + _0: A3(_elm_lang$core$Dict$insert, key, value, _p61), + _1: _p62 + } : { + ctor: '_Tuple2', + _0: _p61, + _1: A3(_elm_lang$core$Dict$insert, key, value, _p62) + }; + }); + return A3( + _elm_lang$core$Dict$foldl, + add, + {ctor: '_Tuple2', _0: _elm_lang$core$Dict$empty, _1: _elm_lang$core$Dict$empty}, + dict); + }); +var _elm_lang$core$Dict$fromList = function (assocs) { + return A3( + _elm_lang$core$List$foldl, + F2( + function (_p63, dict) { + var _p64 = _p63; + return A3(_elm_lang$core$Dict$insert, _p64._0, _p64._1, dict); + }), + _elm_lang$core$Dict$empty, + assocs); +}; +var _elm_lang$core$Dict$remove = F2( + function (key, dict) { + return A3( + _elm_lang$core$Dict$update, + key, + _elm_lang$core$Basics$always(_elm_lang$core$Maybe$Nothing), + dict); + }); +var _elm_lang$core$Dict$diff = F2( + function (t1, t2) { + return A3( + _elm_lang$core$Dict$foldl, + F3( + function (k, v, t) { + return A2(_elm_lang$core$Dict$remove, k, t); + }), + t1, + t2); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Decode.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Decode.elmi new file mode 100644 index 0000000000000000000000000000000000000000..91fe709bb2e6ac5b71cc9f5a3dc38dde731c422c GIT binary patch literal 10888 zcmeHN+m6#P5KY^pT?u&L5B3L;5O?hxXh8yT6RdbePU5r?*>u%z5zE)(By+}gOWBYz z5nZ(}^~Cm!=gfF)j~xWw?=DdT`ajae`MpAwQ=-FUzR*-YrvG5Pyjv&d*(>JJ&}Zl^k#r~0#}&8_BREf5Vy=jsCG(3Bsz#6y>OI9Nwj9=!%XG2QkCi1OqWAyJvptFT%dCRQ%A0f z6RPIQ=Z-n>F+8-DQk!<4=0I zD&QE$BxrbY!b%NPFap28lMEgMb!`LU3*<&a^!?N9fK+$f;|BXRenbwy)r`6MO~`bC zqmH=n*Z_u+Na-goAtnSViipcIJ|u%#JHC(|xwF(GHl3@AkXt+-t{aRg6t)`$x^?k* zc?skZ_2MKY4G09`3%dmRtBRCpxPS>BJPI;jJCR`E$5fvhuCqob4q4u6*-kKcc5#~^ z!U%Q?Ro>bc47yKdZ^di4wnG7W_<;M=_3$_Qq;?W_!Cgv1JHEim-G8{{7C6;ABp`q| z*G@Wmb@JCH3ejE_oFM-uth@>Jo$RIx+pZxaV-K!b2MYrh{65+#mHKL z{I5BV@2^7Ex?9eDq-S%Ox9W50MxBHxO~J}3d!~%}W70#klot_;`)qIz2JI>v28W?%H$zA_)g1oYY$Obi@PT-F{*fGt`^wQ{>nXVw~QG~51!gCYv04> zsSi(;H+LpJ8Thu+Oa^nc#=hKjGFT2%<~5TC>JY*IqX;fC>bHaok)QHOyOS88dIUyF4k4;5B@G*?1qnMziCQ v8iAF7U{pVnlM=TFj|~V10JDCjh-!rb{jas7ue{;%pGS1hFaPFs1VsG;fTRRi literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Decode.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Decode.elmo new file mode 100644 index 0000000..5dcd82f --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Decode.elmo @@ -0,0 +1,58 @@ +var _elm_lang$core$Json_Decode$null = _elm_lang$core$Native_Json.decodeNull; +var _elm_lang$core$Json_Decode$value = _elm_lang$core$Native_Json.decodePrimitive('value'); +var _elm_lang$core$Json_Decode$andThen = _elm_lang$core$Native_Json.andThen; +var _elm_lang$core$Json_Decode$fail = _elm_lang$core$Native_Json.fail; +var _elm_lang$core$Json_Decode$succeed = _elm_lang$core$Native_Json.succeed; +var _elm_lang$core$Json_Decode$lazy = function (thunk) { + return A2( + _elm_lang$core$Json_Decode$andThen, + thunk, + _elm_lang$core$Json_Decode$succeed( + {ctor: '_Tuple0'})); +}; +var _elm_lang$core$Json_Decode$decodeValue = _elm_lang$core$Native_Json.run; +var _elm_lang$core$Json_Decode$decodeString = _elm_lang$core$Native_Json.runOnString; +var _elm_lang$core$Json_Decode$map8 = _elm_lang$core$Native_Json.map8; +var _elm_lang$core$Json_Decode$map7 = _elm_lang$core$Native_Json.map7; +var _elm_lang$core$Json_Decode$map6 = _elm_lang$core$Native_Json.map6; +var _elm_lang$core$Json_Decode$map5 = _elm_lang$core$Native_Json.map5; +var _elm_lang$core$Json_Decode$map4 = _elm_lang$core$Native_Json.map4; +var _elm_lang$core$Json_Decode$map3 = _elm_lang$core$Native_Json.map3; +var _elm_lang$core$Json_Decode$map2 = _elm_lang$core$Native_Json.map2; +var _elm_lang$core$Json_Decode$map = _elm_lang$core$Native_Json.map1; +var _elm_lang$core$Json_Decode$oneOf = _elm_lang$core$Native_Json.oneOf; +var _elm_lang$core$Json_Decode$maybe = function (decoder) { + return A2(_elm_lang$core$Native_Json.decodeContainer, 'maybe', decoder); +}; +var _elm_lang$core$Json_Decode$index = _elm_lang$core$Native_Json.decodeIndex; +var _elm_lang$core$Json_Decode$field = _elm_lang$core$Native_Json.decodeField; +var _elm_lang$core$Json_Decode$at = F2( + function (fields, decoder) { + return A3(_elm_lang$core$List$foldr, _elm_lang$core$Json_Decode$field, decoder, fields); + }); +var _elm_lang$core$Json_Decode$keyValuePairs = _elm_lang$core$Native_Json.decodeKeyValuePairs; +var _elm_lang$core$Json_Decode$dict = function (decoder) { + return A2( + _elm_lang$core$Json_Decode$map, + _elm_lang$core$Dict$fromList, + _elm_lang$core$Json_Decode$keyValuePairs(decoder)); +}; +var _elm_lang$core$Json_Decode$array = function (decoder) { + return A2(_elm_lang$core$Native_Json.decodeContainer, 'array', decoder); +}; +var _elm_lang$core$Json_Decode$list = function (decoder) { + return A2(_elm_lang$core$Native_Json.decodeContainer, 'list', decoder); +}; +var _elm_lang$core$Json_Decode$nullable = function (decoder) { + return _elm_lang$core$Json_Decode$oneOf( + _elm_lang$core$Native_List.fromArray( + [ + _elm_lang$core$Json_Decode$null(_elm_lang$core$Maybe$Nothing), + A2(_elm_lang$core$Json_Decode$map, _elm_lang$core$Maybe$Just, decoder) + ])); +}; +var _elm_lang$core$Json_Decode$float = _elm_lang$core$Native_Json.decodePrimitive('float'); +var _elm_lang$core$Json_Decode$int = _elm_lang$core$Native_Json.decodePrimitive('int'); +var _elm_lang$core$Json_Decode$bool = _elm_lang$core$Native_Json.decodePrimitive('bool'); +var _elm_lang$core$Json_Decode$string = _elm_lang$core$Native_Json.decodePrimitive('string'); +var _elm_lang$core$Json_Decode$Decoder = {ctor: 'Decoder'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Encode.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Encode.elmi new file mode 100644 index 0000000000000000000000000000000000000000..f213e67c64cb1d1dc79caeb3eb8df06641649401 GIT binary patch literal 1826 zcmcIlJx|0i40YQiAei_eER45-1QH0bfLKwk^iWYqP(P6P_gs%>w~@G`L)s;EZNK;8 z+6htgoWaVl9#`(;+*$tyTa}@y@P2}oOy$e)%Ad)!T~kX26}9g;Qg2+aVySfqj$O+4 zZZuroN|?4yW4}4hg!Ow>b~$YQY+WzZ9K>GUhQ6FYu+u!)uKwa&b=L-u{8Oy?YDEl@ zSt>Y_)cvS08zcS=h(za{c&NxsIhALwr}d61fLax^u$e!qPGn@WaOP@E3Wiet_7E!| zb+v7&C3v{Ug{ipRwsle_fi{oR0m96PSKkaXl$05@+)b+R3>#d6MeSyL&!{9NObW*R zHXKt+0OMTScgT$OI(m8PKV5YJLAm@ev`tcRNx`6)?}tT&gG-LMzpjacP5==70OjoD AI{*Lx literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Encode.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Encode.elmo new file mode 100644 index 0000000..3d24faa --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Json-Encode.elmo @@ -0,0 +1,10 @@ +var _elm_lang$core$Json_Encode$list = _elm_lang$core$Native_Json.encodeList; +var _elm_lang$core$Json_Encode$array = _elm_lang$core$Native_Json.encodeArray; +var _elm_lang$core$Json_Encode$object = _elm_lang$core$Native_Json.encodeObject; +var _elm_lang$core$Json_Encode$null = _elm_lang$core$Native_Json.encodeNull; +var _elm_lang$core$Json_Encode$bool = _elm_lang$core$Native_Json.identity; +var _elm_lang$core$Json_Encode$float = _elm_lang$core$Native_Json.identity; +var _elm_lang$core$Json_Encode$int = _elm_lang$core$Native_Json.identity; +var _elm_lang$core$Json_Encode$string = _elm_lang$core$Native_Json.identity; +var _elm_lang$core$Json_Encode$encode = _elm_lang$core$Native_Json.encode; +var _elm_lang$core$Json_Encode$Value = {ctor: 'Value'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/List.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/List.elmi new file mode 100644 index 0000000000000000000000000000000000000000..9a968bd0cb14b42e856c89a6172aa9a5edb478ff GIT binary patch literal 5943 zcmd5=NpI9J6wXYR>9i+)1SixB%caL65J(iHsuD-!B%U@Ro03e`^6PQpw>VMLH>CkF zm+^}~zwa$xp6z*~-wTjd@PDN9;xt#~HON6yH5%G4;osY2?T4c7?op0%U0!!LC~g{k ztD6>wc~PN@SU1=m+-Q}O(5Wm(A=+hm=KwqPlavH$Q`H1)bgfl~V%Qji3AsKy!;VPR zwJwP)N~$v9VJBH>*xK5)bz7^Z%et&8QAfBhe`Un%7mC_}X}?BTFT8Pux32IGg{^h* zg0*a|QO=j+tW5QtPMuHTuF6x2;2=@d{B~cU`c2(b={}*zYzlRk6;6MVm9Ffoob{-Z zG8(ptDyb)EtAL#*qh9=;QTBZ>1t(N=uG%bVCtt%0bsuBK*3cP!Rb6(AUxP1M zi=?jr(We#_uaxKGNY4eY7$E{cuMGo_W4-59mCHO6yw&Ot@myFb&S=>)5g`IFEwE~4 z@H3y;ZxH}I?m{?xbS!5_G9U&6>=r}0^gox~^OY-%BJOSM8ZiZj%`(Xkq;mHdX7ktB zer%6N%xHm*1YTYXh8}k`q&JJ3nlZPWk8)<5VKxW2iBiYkAhD;Ln5yNop0h@}uDFqe9ZOi}ZoMf^3P{#2xvr-K~OL^2->zTSLOhLL%0K>2IJ&6J?}-*_Uj zq>`^xE*W1e z8?4$EeF6NwDotgKWGl5e@hWz-i%}Q%g&3^I8y#CN>Q)c#$s4?n{9nm&E`jXg!~wzL zKA8|LZ}a17U*{U{ifit9=DmfkdxFNO-1j$d^aVsP4{pz7?QrUiq#5la49@G}D*j35 zwKwh_ONVGY1cUPt-UG%Y=&qZJnSg_yW2+RnD{ z^8eE^TH=m@+ddKqXlEll90>&U@W9?-%TX(DL;|t7df1=yvVlCNkDE_AB*xDm;kPC= z?_8oKA^=Pso`3}KqkBLwJi`eZ7CfIsCUDHyWu5@X%UT>O0x-e7@{h{AGK~qwlBi7t z0NqJXcL`6UPvlr`sti_KnMc=4olN`|9T5TGDLk3Z!1?p^T;#PyEvF=zqFK+(rY-?u PFn9Wg 0) ? A2( + _elm_lang$core$List_ops['::'], + _p26, + A2( + _elm_lang$core$List_ops['::'], + _p27, + A2( + _elm_lang$core$List_ops['::'], + _p28, + A2( + _elm_lang$core$List_ops['::'], + _p25, + A2(_elm_lang$core$List$takeTailRec, n - 4, _p24))))) : A2( + _elm_lang$core$List_ops['::'], + _p26, + A2( + _elm_lang$core$List_ops['::'], + _p27, + A2( + _elm_lang$core$List_ops['::'], + _p28, + A2( + _elm_lang$core$List_ops['::'], + _p25, + A3(_elm_lang$core$List$takeFast, ctr + 1, n - 4, _p24))))); + } else { + break _v26_5; + } + } + } else { + if (_p23._0 === 1) { + break _v26_1; + } else { + break _v26_5; + } + } + } + } else { + break _v26_5; + } + } while(false); + return _elm_lang$core$Native_List.fromArray( + [_p23._1._0]); + } while(false); + return list; + } + }); +var _elm_lang$core$List$take = F2( + function (n, list) { + return A3(_elm_lang$core$List$takeFast, 0, n, list); + }); +var _elm_lang$core$List$repeatHelp = F3( + function (result, n, value) { + repeatHelp: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) { + return result; + } else { + var _v27 = A2(_elm_lang$core$List_ops['::'], value, result), + _v28 = n - 1, + _v29 = value; + result = _v27; + n = _v28; + value = _v29; + continue repeatHelp; + } + } + }); +var _elm_lang$core$List$repeat = F2( + function (n, value) { + return A3( + _elm_lang$core$List$repeatHelp, + _elm_lang$core$Native_List.fromArray( + []), + n, + value); + }); +var _elm_lang$core$List$rangeHelp = F3( + function (lo, hi, list) { + rangeHelp: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(lo, hi) < 1) { + var _v30 = lo, + _v31 = hi - 1, + _v32 = A2(_elm_lang$core$List_ops['::'], hi, list); + lo = _v30; + hi = _v31; + list = _v32; + continue rangeHelp; + } else { + return list; + } + } + }); +var _elm_lang$core$List$range = F2( + function (lo, hi) { + return A3( + _elm_lang$core$List$rangeHelp, + lo, + hi, + _elm_lang$core$Native_List.fromArray( + [])); + }); +var _elm_lang$core$List$indexedMap = F2( + function (f, xs) { + return A3( + _elm_lang$core$List$map2, + f, + A2( + _elm_lang$core$List$range, + 0, + _elm_lang$core$List$length(xs) - 1), + xs); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Maybe.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Maybe.elmi new file mode 100644 index 0000000000000000000000000000000000000000..37e0ec8c8389684d6e1bec69d5b1b4f072f5820c GIT binary patch literal 2988 zcmd^B%}&EG3{KjjAvp0MT!3A6=7fL~FW~%?R_Zzgoe*zNrulPH(AXt8O!N{vb^P}^ zj+L5ySIlW%&;78z9%y`JzOkEkkAJ+X1&!{d^CS3rO>dx^K;NXyZOYuG%o5DyXFqlK zzNPIjRlIrjL|+D$vDrLqKPDDfJa4A17e}E>T`*OxRtiyRQZ;m_=CKzgI!YWBV7+@E z(sQ8y${l28Va=Gtl^+q-6;5ZjAV9)`ru^1SNIvvuiy*&B!)f1FGaS|=)QQExH&NWD zcpZ#v+7j3l&}s7HZE>MP#|lkKQj+E=?ppcp3WT@oPcV?{ij*iV5$5cIzWyg)vE{vv9*RiyJ`ERPZZ c#>b!7HfnG_yWuCKFl?p+>)`>9PybrJ0g#Ck literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Maybe.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Maybe.elmo new file mode 100644 index 0000000..0a0a7e4 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Maybe.elmo @@ -0,0 +1,72 @@ +var _elm_lang$core$Maybe$withDefault = F2( + function ($default, maybe) { + var _p0 = maybe; + if (_p0.ctor === 'Just') { + return _p0._0; + } else { + return $default; + } + }); +var _elm_lang$core$Maybe$Nothing = {ctor: 'Nothing'}; +var _elm_lang$core$Maybe$andThen = F2( + function (callback, maybeValue) { + var _p1 = maybeValue; + if (_p1.ctor === 'Just') { + return callback(_p1._0); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$Just = function (a) { + return {ctor: 'Just', _0: a}; +}; +var _elm_lang$core$Maybe$map = F2( + function (f, maybe) { + var _p2 = maybe; + if (_p2.ctor === 'Just') { + return _elm_lang$core$Maybe$Just( + f(_p2._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map2 = F3( + function (func, ma, mb) { + var _p3 = {ctor: '_Tuple2', _0: ma, _1: mb}; + if (((_p3.ctor === '_Tuple2') && (_p3._0.ctor === 'Just')) && (_p3._1.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A2(func, _p3._0._0, _p3._1._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map3 = F4( + function (func, ma, mb, mc) { + var _p4 = {ctor: '_Tuple3', _0: ma, _1: mb, _2: mc}; + if ((((_p4.ctor === '_Tuple3') && (_p4._0.ctor === 'Just')) && (_p4._1.ctor === 'Just')) && (_p4._2.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A3(func, _p4._0._0, _p4._1._0, _p4._2._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map4 = F5( + function (func, ma, mb, mc, md) { + var _p5 = {ctor: '_Tuple4', _0: ma, _1: mb, _2: mc, _3: md}; + if (((((_p5.ctor === '_Tuple4') && (_p5._0.ctor === 'Just')) && (_p5._1.ctor === 'Just')) && (_p5._2.ctor === 'Just')) && (_p5._3.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A4(func, _p5._0._0, _p5._1._0, _p5._2._0, _p5._3._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map5 = F6( + function (func, ma, mb, mc, md, me) { + var _p6 = {ctor: '_Tuple5', _0: ma, _1: mb, _2: mc, _3: md, _4: me}; + if ((((((_p6.ctor === '_Tuple5') && (_p6._0.ctor === 'Just')) && (_p6._1.ctor === 'Just')) && (_p6._2.ctor === 'Just')) && (_p6._3.ctor === 'Just')) && (_p6._4.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A5(func, _p6._0._0, _p6._1._0, _p6._2._0, _p6._3._0, _p6._4._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Cmd.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Cmd.elmi new file mode 100644 index 0000000000000000000000000000000000000000..3eca3597bc9f9932801e7d9292e314143515e7d1 GIT binary patch literal 1287 zcmcgsu?~VT5N#{S#T8XpH#Ojlrvbee8+`%<5sbjZJ87yrnv=bf z=G=6e;4wv>GBk3@1e#g6t$G8D2!Q!E4tigyCSoTk$B{gDtc&B})~a$%#Fmyz&k{hG zWk1+ql@F?@aqgD`(C6peekYK`MC1kB6D#ZE+skEFbn4g^xx3(-Mw%-t#16 TCES|cOY3rvf7Tlmfn0b1&r5tf literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Cmd.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Cmd.elmo new file mode 100644 index 0000000..fd79292 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Cmd.elmo @@ -0,0 +1,15 @@ +var _elm_lang$core$Platform_Cmd$batch = _elm_lang$core$Native_Platform.batch; +var _elm_lang$core$Platform_Cmd$none = _elm_lang$core$Platform_Cmd$batch( + _elm_lang$core$Native_List.fromArray( + [])); +var _elm_lang$core$Platform_Cmd_ops = _elm_lang$core$Platform_Cmd_ops || {}; +_elm_lang$core$Platform_Cmd_ops['!'] = F2( + function (model, commands) { + return { + ctor: '_Tuple2', + _0: model, + _1: _elm_lang$core$Platform_Cmd$batch(commands) + }; + }); +var _elm_lang$core$Platform_Cmd$map = _elm_lang$core$Native_Platform.map; +var _elm_lang$core$Platform_Cmd$Cmd = {ctor: 'Cmd'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Sub.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform-Sub.elmi new file mode 100644 index 0000000000000000000000000000000000000000..591f3a0d140d00d33fe391da1f193acb810209a2 GIT binary patch literal 1007 zcmcIjTMmLS5bO)XuLto0oWU3qPp~CbNm?*aJ->=Ow3?`2sk_qt_z?7##t-$*=J34+U%x28eObRA>+4MzNVGV_khne$Mz)VR? mW*4qH5RFFT2Nc>LQYbxoYYT-!D^i6X%Vx7`Ffk#U`1>2$dAplU)MzfvWxrj6(PfioJNQJN*2jKx^r()ugRx33Y~NE}S0*axfR zDNV66{o7fJXx*p1(V}Y2!NFj~~_8JMuo0A{Uw3r^%2;#OOUU8FDxY zG;hxG@StK{L@Zw?8Deafnk@NN1VyAUAvU(u-Io~d9u-*@J~=w2u|JzRaJt7F7pl(S zJ(M}3(h_F{NJXcx59L$$u4JsBv>CFCn{+#wg%vXD0=~!8%vUo`Qgrp*kgNPrL72b< z_e;%gU?#gyLTwq}sdyPujS?InP4Fz-hq)%g=zCS9k$9w21E`(%pxg;U8{FSEK>Ug~s*ul>LV+wMzriYTtrgD(ZUMlymhN9L~i- zWB_WQeEpGcq~2xu_1ndNEer8F9AjZucul=V76QJ;Lawt^xHsFDU4e-fNkZCwmp`nAIii?md&VM b!eUhw1}n*dJ0e5R*-y~0!i=c^BWnBsUXNc< literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform.elmo new file mode 100644 index 0000000..58b681a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Platform.elmo @@ -0,0 +1,9 @@ +var _elm_lang$core$Platform$hack = _elm_lang$core$Native_Scheduler.succeed; +var _elm_lang$core$Platform$sendToSelf = _elm_lang$core$Native_Platform.sendToSelf; +var _elm_lang$core$Platform$sendToApp = _elm_lang$core$Native_Platform.sendToApp; +var _elm_lang$core$Platform$programWithFlags = _elm_lang$core$Native_Platform.programWithFlags; +var _elm_lang$core$Platform$program = _elm_lang$core$Native_Platform.program; +var _elm_lang$core$Platform$Program = {ctor: 'Program'}; +var _elm_lang$core$Platform$Task = {ctor: 'Task'}; +var _elm_lang$core$Platform$ProcessId = {ctor: 'ProcessId'}; +var _elm_lang$core$Platform$Router = {ctor: 'Router'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Process.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Process.elmi new file mode 100644 index 0000000000000000000000000000000000000000..14e1fcbae785fedf53d2219ce1d765644e336614 GIT binary patch literal 1824 zcmd5-!D_=W3{?_mZIAnq!Os1FL7|Moavz@KZ6Qt_?6m#;g-owbQrH$sMtzZG$xqU= zY!eN}J!=umr8d=rk^2wUg|bd#&XQ7J%hNt+M(Y}yC<|kN7H{&=-k9~fXW0}-Ag^B3 zr_K*XJ2nGgxihkPx2_tki%k0RVy&nEDA*RS*95FcQiAX#wuNs15IlZ$;4NL1lw#vg ztiflob5?2Zk=dCViemWu1!qjjig7pjq;&cW_UB+I(as^Qmbvc{+Y)wKyk>{m=*K9z zD*Zw15bz=lXOQ}?*(R3SYm6++TjCj&(kEkOGZ8hk;GhV`yjcRfyZbMto{#fwo+b(S m^Od9cINR2r6lDJEJ`1Pn#)`xRWr-6H9}8Xe`h>?5fxZBeP}2_p literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Process.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Process.elmo new file mode 100644 index 0000000..be9f100 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Process.elmo @@ -0,0 +1,3 @@ +var _elm_lang$core$Process$kill = _elm_lang$core$Native_Scheduler.kill; +var _elm_lang$core$Process$sleep = _elm_lang$core$Native_Scheduler.sleep; +var _elm_lang$core$Process$spawn = _elm_lang$core$Native_Scheduler.spawn; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Random.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Random.elmi new file mode 100644 index 0000000000000000000000000000000000000000..441b12d7472f5d3c15e76a4cc904217fac249498 GIT binary patch literal 10684 zcmeGi*>0Oa5CYg(eQN)r50%;+ZI#DVy`&_n62Dh#ymnDIEQ71`@4LXv9vF=2vT>ru zFYGeoxp#JUSj$p=FJWfG)2C7VCL+la=5CO#DU4si({g8N8sWqVlN`t1B1#FLxlx#j z$%=$)#B*Y@!m-Q7$MWPvo}9{)Gn|Y`GN1mU3C>4xn0yyvjAC*xP5mWJ=$hoHhvjBD z<@{fSNtlNux}|h}1Oz8vtAC_iVhcfTfrotYIfemRadbhlFvx0e-AiE)#PokeBwwWK z7;uqI{k`)kMy~i*cS^FmI*Vx-qne24O*g9uU%o~@=jRq8*u-*>ucZhnFgg){t`C-@ zj3oYhS4<(!=!Us8MJsIC-$p!}=+O19{z!HdG(mWot%mevhzNs?f0how80Um-!iW7W z1UyiM{sd%QOZ6oagE^{DcX5W#gx=?thUngH&emePeRwE3Yz=Gk0ja$;%W3rC#0Iuj zp#zGLt)kGZ<^DY!DyIx)?W}OIJ~a&ra-Ob~<0-syijgoA8xy)hFJbLirL#wwVRs5# zErhaq(8=Q4Jh(623sISjf_Q#a)EUARe57Z*wrxa5sTP_uNFL)LjbpY&YB{}y$DUg% z8hJ-)B3CKg)&%okRU9H2%llFmi?z9q4R-_vFsnrIML{T}Vd9k*iV)QwfYg*Rt6k6DV$bTRI0l*$isG7F_4c(gK>~I=kolB0n-qv{e0GS zj!+pv+?VH66*4SWTvJ0A1EPp-IkrKN_=SewXte4+=&3%obSmc3%R)qR=OBYZ3h`Sk ztg+7IRWOOkG7PRa@mq|QQL>3=Jo|C@yAJqq2mGW1e%b*)>wv%SfPd(Ke{6kx7a$z~I80}j`# zm=9t>Q?3aNxdt1PMMSfHEjN9OYXriaqnc|Mnlh%bykl(1&keaBTg!#}S%;qcwA=jx zm-2rtOgXG*awC_0&Ne*~x*@{mBEgg?SXbAGi5HOk;lqwvs#h@h1k?m_pJc~+k|v)Q z3mW8EPjA(at)rWClk-B7JE-sHhlV386AT=qem2sHg0>!&c8&ks*x>259wCpjv5_XX zG+JC`%f}o4d@=2{p){?aeiXL5K+jSAw4&NAuR-V}$b%e7h80+B8|^(ItRwh&`S}Yj z7TRbUwL%^C3$9yUkr~$QD7Q_tH}icWNH?`&!vUV#>ka@+o$81BHDKz>@__oP1sJI2 z#B3W@wG=mf;Juk(kvPl!QV@nGe;H=iudH|jT}P;xKF#BV_aEIpIs9E8OZkRY4^{n}#wJmmlY literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Random.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Random.elmo new file mode 100644 index 0000000..f445342 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Random.elmo @@ -0,0 +1,379 @@ +var _elm_lang$core$Random$onSelfMsg = F3( + function (_p1, _p0, seed) { + return _elm_lang$core$Task$succeed(seed); + }); +var _elm_lang$core$Random$magicNum8 = 2147483562; +var _elm_lang$core$Random$range = function (_p2) { + return {ctor: '_Tuple2', _0: 0, _1: _elm_lang$core$Random$magicNum8}; +}; +var _elm_lang$core$Random$magicNum7 = 2147483399; +var _elm_lang$core$Random$magicNum6 = 2147483563; +var _elm_lang$core$Random$magicNum5 = 3791; +var _elm_lang$core$Random$magicNum4 = 40692; +var _elm_lang$core$Random$magicNum3 = 52774; +var _elm_lang$core$Random$magicNum2 = 12211; +var _elm_lang$core$Random$magicNum1 = 53668; +var _elm_lang$core$Random$magicNum0 = 40014; +var _elm_lang$core$Random$step = F2( + function (_p3, seed) { + var _p4 = _p3; + return _p4._0(seed); + }); +var _elm_lang$core$Random$onEffects = F3( + function (router, commands, seed) { + var _p5 = commands; + if (_p5.ctor === '[]') { + return _elm_lang$core$Task$succeed(seed); + } else { + var _p6 = A2(_elm_lang$core$Random$step, _p5._0._0, seed); + var value = _p6._0; + var newSeed = _p6._1; + return A2( + _elm_lang$core$Task$andThen, + function (_p7) { + return A3(_elm_lang$core$Random$onEffects, router, _p5._1, newSeed); + }, + A2(_elm_lang$core$Platform$sendToApp, router, value)); + } + }); +var _elm_lang$core$Random$listHelp = F4( + function (list, n, generate, seed) { + listHelp: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(n, 1) < 0) { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$List$reverse(list), + _1: seed + }; + } else { + var _p8 = generate(seed); + var value = _p8._0; + var newSeed = _p8._1; + var _v2 = A2(_elm_lang$core$List_ops['::'], value, list), + _v3 = n - 1, + _v4 = generate, + _v5 = newSeed; + list = _v2; + n = _v3; + generate = _v4; + seed = _v5; + continue listHelp; + } + } + }); +var _elm_lang$core$Random$minInt = -2147483648; +var _elm_lang$core$Random$maxInt = 2147483647; +var _elm_lang$core$Random$iLogBase = F2( + function (b, i) { + return (_elm_lang$core$Native_Utils.cmp(i, b) < 0) ? 1 : (1 + A2(_elm_lang$core$Random$iLogBase, b, (i / b) | 0)); + }); +var _elm_lang$core$Random$command = _elm_lang$core$Native_Platform.leaf('Random'); +var _elm_lang$core$Random$Generator = function (a) { + return {ctor: 'Generator', _0: a}; +}; +var _elm_lang$core$Random$list = F2( + function (n, _p9) { + var _p10 = _p9; + return _elm_lang$core$Random$Generator( + function (seed) { + return A4( + _elm_lang$core$Random$listHelp, + _elm_lang$core$Native_List.fromArray( + []), + n, + _p10._0, + seed); + }); + }); +var _elm_lang$core$Random$map = F2( + function (func, _p11) { + var _p12 = _p11; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p13 = _p12._0(seed0); + var a = _p13._0; + var seed1 = _p13._1; + return { + ctor: '_Tuple2', + _0: func(a), + _1: seed1 + }; + }); + }); +var _elm_lang$core$Random$map2 = F3( + function (func, _p15, _p14) { + var _p16 = _p15; + var _p17 = _p14; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p18 = _p16._0(seed0); + var a = _p18._0; + var seed1 = _p18._1; + var _p19 = _p17._0(seed1); + var b = _p19._0; + var seed2 = _p19._1; + return { + ctor: '_Tuple2', + _0: A2(func, a, b), + _1: seed2 + }; + }); + }); +var _elm_lang$core$Random$pair = F2( + function (genA, genB) { + return A3( + _elm_lang$core$Random$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + genA, + genB); + }); +var _elm_lang$core$Random$map3 = F4( + function (func, _p22, _p21, _p20) { + var _p23 = _p22; + var _p24 = _p21; + var _p25 = _p20; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p26 = _p23._0(seed0); + var a = _p26._0; + var seed1 = _p26._1; + var _p27 = _p24._0(seed1); + var b = _p27._0; + var seed2 = _p27._1; + var _p28 = _p25._0(seed2); + var c = _p28._0; + var seed3 = _p28._1; + return { + ctor: '_Tuple2', + _0: A3(func, a, b, c), + _1: seed3 + }; + }); + }); +var _elm_lang$core$Random$map4 = F5( + function (func, _p32, _p31, _p30, _p29) { + var _p33 = _p32; + var _p34 = _p31; + var _p35 = _p30; + var _p36 = _p29; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p37 = _p33._0(seed0); + var a = _p37._0; + var seed1 = _p37._1; + var _p38 = _p34._0(seed1); + var b = _p38._0; + var seed2 = _p38._1; + var _p39 = _p35._0(seed2); + var c = _p39._0; + var seed3 = _p39._1; + var _p40 = _p36._0(seed3); + var d = _p40._0; + var seed4 = _p40._1; + return { + ctor: '_Tuple2', + _0: A4(func, a, b, c, d), + _1: seed4 + }; + }); + }); +var _elm_lang$core$Random$map5 = F6( + function (func, _p45, _p44, _p43, _p42, _p41) { + var _p46 = _p45; + var _p47 = _p44; + var _p48 = _p43; + var _p49 = _p42; + var _p50 = _p41; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p51 = _p46._0(seed0); + var a = _p51._0; + var seed1 = _p51._1; + var _p52 = _p47._0(seed1); + var b = _p52._0; + var seed2 = _p52._1; + var _p53 = _p48._0(seed2); + var c = _p53._0; + var seed3 = _p53._1; + var _p54 = _p49._0(seed3); + var d = _p54._0; + var seed4 = _p54._1; + var _p55 = _p50._0(seed4); + var e = _p55._0; + var seed5 = _p55._1; + return { + ctor: '_Tuple2', + _0: A5(func, a, b, c, d, e), + _1: seed5 + }; + }); + }); +var _elm_lang$core$Random$andThen = F2( + function (callback, _p56) { + var _p57 = _p56; + return _elm_lang$core$Random$Generator( + function (seed) { + var _p58 = _p57._0(seed); + var result = _p58._0; + var newSeed = _p58._1; + var _p59 = callback(result); + var genB = _p59._0; + return genB(newSeed); + }); + }); +var _elm_lang$core$Random$State = F2( + function (a, b) { + return {ctor: 'State', _0: a, _1: b}; + }); +var _elm_lang$core$Random$initState = function (seed) { + var s = A2(_elm_lang$core$Basics$max, seed, 0 - seed); + var q = (s / (_elm_lang$core$Random$magicNum6 - 1)) | 0; + var s2 = A2(_elm_lang$core$Basics_ops['%'], q, _elm_lang$core$Random$magicNum7 - 1); + var s1 = A2(_elm_lang$core$Basics_ops['%'], s, _elm_lang$core$Random$magicNum6 - 1); + return A2(_elm_lang$core$Random$State, s1 + 1, s2 + 1); +}; +var _elm_lang$core$Random$next = function (_p60) { + var _p61 = _p60; + var _p63 = _p61._1; + var _p62 = _p61._0; + var k2 = (_p63 / _elm_lang$core$Random$magicNum3) | 0; + var rawState2 = (_elm_lang$core$Random$magicNum4 * (_p63 - (k2 * _elm_lang$core$Random$magicNum3))) - (k2 * _elm_lang$core$Random$magicNum5); + var newState2 = (_elm_lang$core$Native_Utils.cmp(rawState2, 0) < 0) ? (rawState2 + _elm_lang$core$Random$magicNum7) : rawState2; + var k1 = (_p62 / _elm_lang$core$Random$magicNum1) | 0; + var rawState1 = (_elm_lang$core$Random$magicNum0 * (_p62 - (k1 * _elm_lang$core$Random$magicNum1))) - (k1 * _elm_lang$core$Random$magicNum2); + var newState1 = (_elm_lang$core$Native_Utils.cmp(rawState1, 0) < 0) ? (rawState1 + _elm_lang$core$Random$magicNum6) : rawState1; + var z = newState1 - newState2; + var newZ = (_elm_lang$core$Native_Utils.cmp(z, 1) < 0) ? (z + _elm_lang$core$Random$magicNum8) : z; + return { + ctor: '_Tuple2', + _0: newZ, + _1: A2(_elm_lang$core$Random$State, newState1, newState2) + }; +}; +var _elm_lang$core$Random$split = function (_p64) { + var _p65 = _p64; + var _p68 = _p65._1; + var _p67 = _p65._0; + var _p66 = _elm_lang$core$Tuple$second( + _elm_lang$core$Random$next(_p65)); + var t1 = _p66._0; + var t2 = _p66._1; + var new_s2 = _elm_lang$core$Native_Utils.eq(_p68, 1) ? (_elm_lang$core$Random$magicNum7 - 1) : (_p68 - 1); + var new_s1 = _elm_lang$core$Native_Utils.eq(_p67, _elm_lang$core$Random$magicNum6 - 1) ? 1 : (_p67 + 1); + return { + ctor: '_Tuple2', + _0: A2(_elm_lang$core$Random$State, new_s1, t2), + _1: A2(_elm_lang$core$Random$State, t1, new_s2) + }; +}; +var _elm_lang$core$Random$Seed = function (a) { + return {ctor: 'Seed', _0: a}; +}; +var _elm_lang$core$Random$int = F2( + function (a, b) { + return _elm_lang$core$Random$Generator( + function (_p69) { + var _p70 = _p69; + var _p75 = _p70._0; + var base = 2147483561; + var f = F3( + function (n, acc, state) { + f: + while (true) { + var _p71 = n; + if (_p71 === 0) { + return {ctor: '_Tuple2', _0: acc, _1: state}; + } else { + var _p72 = _p75.next(state); + var x = _p72._0; + var nextState = _p72._1; + var _v27 = n - 1, + _v28 = x + (acc * base), + _v29 = nextState; + n = _v27; + acc = _v28; + state = _v29; + continue f; + } + } + }); + var _p73 = (_elm_lang$core$Native_Utils.cmp(a, b) < 0) ? {ctor: '_Tuple2', _0: a, _1: b} : {ctor: '_Tuple2', _0: b, _1: a}; + var lo = _p73._0; + var hi = _p73._1; + var k = (hi - lo) + 1; + var n = A2(_elm_lang$core$Random$iLogBase, base, k); + var _p74 = A3(f, n, 1, _p75.state); + var v = _p74._0; + var nextState = _p74._1; + return { + ctor: '_Tuple2', + _0: lo + A2(_elm_lang$core$Basics_ops['%'], v, k), + _1: _elm_lang$core$Random$Seed( + _elm_lang$core$Native_Utils.update( + _p75, + {state: nextState})) + }; + }); + }); +var _elm_lang$core$Random$bool = A2( + _elm_lang$core$Random$map, + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.eq(x, y); + })(1), + A2(_elm_lang$core$Random$int, 0, 1)); +var _elm_lang$core$Random$float = F2( + function (a, b) { + return _elm_lang$core$Random$Generator( + function (seed) { + var _p76 = A2( + _elm_lang$core$Random$step, + A2(_elm_lang$core$Random$int, _elm_lang$core$Random$minInt, _elm_lang$core$Random$maxInt), + seed); + var number = _p76._0; + var newSeed = _p76._1; + var negativeOneToOne = _elm_lang$core$Basics$toFloat(number) / _elm_lang$core$Basics$toFloat(_elm_lang$core$Random$maxInt - _elm_lang$core$Random$minInt); + var _p77 = (_elm_lang$core$Native_Utils.cmp(a, b) < 0) ? {ctor: '_Tuple2', _0: a, _1: b} : {ctor: '_Tuple2', _0: b, _1: a}; + var lo = _p77._0; + var hi = _p77._1; + var scaled = ((lo + hi) / 2) + ((hi - lo) * negativeOneToOne); + return {ctor: '_Tuple2', _0: scaled, _1: newSeed}; + }); + }); +var _elm_lang$core$Random$initialSeed = function (n) { + return _elm_lang$core$Random$Seed( + { + state: _elm_lang$core$Random$initState(n), + next: _elm_lang$core$Random$next, + split: _elm_lang$core$Random$split, + range: _elm_lang$core$Random$range + }); +}; +var _elm_lang$core$Random$init = A2( + _elm_lang$core$Task$andThen, + function (t) { + return _elm_lang$core$Task$succeed( + _elm_lang$core$Random$initialSeed( + _elm_lang$core$Basics$round(t))); + }, + _elm_lang$core$Time$now); +var _elm_lang$core$Random$Generate = function (a) { + return {ctor: 'Generate', _0: a}; +}; +var _elm_lang$core$Random$generate = F2( + function (tagger, generator) { + return _elm_lang$core$Random$command( + _elm_lang$core$Random$Generate( + A2(_elm_lang$core$Random$map, tagger, generator))); + }); +var _elm_lang$core$Random$cmdMap = F2( + function (func, _p78) { + var _p79 = _p78; + return _elm_lang$core$Random$Generate( + A2(_elm_lang$core$Random$map, func, _p79._0)); + }); +_elm_lang$core$Native_Platform.effectManagers['Random'] = {pkg: 'elm-lang/core', init: _elm_lang$core$Random$init, onEffects: _elm_lang$core$Random$onEffects, onSelfMsg: _elm_lang$core$Random$onSelfMsg, tag: 'cmd', cmdMap: _elm_lang$core$Random$cmdMap}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Regex.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Regex.elmi new file mode 100644 index 0000000000000000000000000000000000000000..0b97777eb2b8854b185bd7d75bd5de3ca605f187 GIT binary patch literal 3128 zcmeHJ%~HZJ5Kie2j5_1^Aie-MJjsmppidBL#LSeGX@bJr3uJfOglVyqQ4jQzZuU3X zFT2Z_^W6azz&aB7;y&kU4s?_irGWoySXo?(xmY8W2%YgI3bEUaYcW+?C@qcrr2SD= zD8r@Fs29CU^@hZ-6w91vBpvHzF3kYg@k`wy!(ii-o9qKkSPE5!kHuHY)dsk@9ZvEb zwvvfS3vEyxC2GbuGmHnB$uqB=$qDNQJ&nf{V8B_3sw{evf(xh0oXtAqg^VY!rj%PqH5@hU<~Ze5UbdbpA~qwEpCuWA~<@WU?1_z^OEEL0t=y;9iWiT#IE`$uRf6}}j}3EU>= v!M?|?4Rt7h1CFJu$)MI&ot}hxI2E)row*YmKd!B9{_lHv^L)}Wf-v?CR5p(B literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Regex.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Regex.elmo new file mode 100644 index 0000000..55577ec --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Regex.elmo @@ -0,0 +1,16 @@ +var _elm_lang$core$Regex$split = _elm_lang$core$Native_Regex.split; +var _elm_lang$core$Regex$replace = _elm_lang$core$Native_Regex.replace; +var _elm_lang$core$Regex$find = _elm_lang$core$Native_Regex.find; +var _elm_lang$core$Regex$contains = _elm_lang$core$Native_Regex.contains; +var _elm_lang$core$Regex$caseInsensitive = _elm_lang$core$Native_Regex.caseInsensitive; +var _elm_lang$core$Regex$regex = _elm_lang$core$Native_Regex.regex; +var _elm_lang$core$Regex$escape = _elm_lang$core$Native_Regex.escape; +var _elm_lang$core$Regex$Match = F4( + function (a, b, c, d) { + return {match: a, submatches: b, index: c, number: d}; + }); +var _elm_lang$core$Regex$Regex = {ctor: 'Regex'}; +var _elm_lang$core$Regex$AtMost = function (a) { + return {ctor: 'AtMost', _0: a}; +}; +var _elm_lang$core$Regex$All = {ctor: 'All'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Result.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Result.elmi new file mode 100644 index 0000000000000000000000000000000000000000..4febb048eda4e37d62032e795849e847945baace GIT binary patch literal 4032 zcmcIn$xg#S44otmEvh*1AzWB4J;M!zg!q9;GNBb|gVGkn-;=1ep9ir;!o6fXah|s~ z?%28LcS=%1&sk{JXN})Hkvu8eF3@^TPd9&C?UvV}_WNeXd)eB*@Osj(&$V!&g-b15 zu`uTwx1BJbKe|6Z_dcU*VvI@+1_R&Khk?Na*Y=pk(35$~q=&-6a)wHcn{;Y&)KVmn8Z3n>N&}1b-|);_}53iV1uZt^l5?KjgCizffVxvcN7%T#Y;y zaiFn;u!9)2Nh|ORWB*HwBLMd+>R3bB`hRwnHd*SjK>?KyCK;&3zD)&zZ&N|w+cXZ~ zR~8HbJYV4khV<7xRTf!(!w~3#Z?y?op2QU!vH;(PEWo!R3-E2)E%1W{83A8YyOQBS z6H-WEQzYEUO?tAvX&j=Q@(g8>Q$#cJVvy@mD-zVbl*$xMno=H{Gm88nG*5o8=}*@M hdYgw~3}xZfH+$}RJTYPjl^Aoar$$pKXjB4s?gN-JtD^t_ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Result.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Result.elmo new file mode 100644 index 0000000..a9b91ff --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Result.elmo @@ -0,0 +1,141 @@ +var _elm_lang$core$Result$toMaybe = function (result) { + var _p0 = result; + if (_p0.ctor === 'Ok') { + return _elm_lang$core$Maybe$Just(_p0._0); + } else { + return _elm_lang$core$Maybe$Nothing; + } +}; +var _elm_lang$core$Result$withDefault = F2( + function (def, result) { + var _p1 = result; + if (_p1.ctor === 'Ok') { + return _p1._0; + } else { + return def; + } + }); +var _elm_lang$core$Result$Err = function (a) { + return {ctor: 'Err', _0: a}; +}; +var _elm_lang$core$Result$andThen = F2( + function (callback, result) { + var _p2 = result; + if (_p2.ctor === 'Ok') { + return callback(_p2._0); + } else { + return _elm_lang$core$Result$Err(_p2._0); + } + }); +var _elm_lang$core$Result$Ok = function (a) { + return {ctor: 'Ok', _0: a}; +}; +var _elm_lang$core$Result$map = F2( + function (func, ra) { + var _p3 = ra; + if (_p3.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + func(_p3._0)); + } else { + return _elm_lang$core$Result$Err(_p3._0); + } + }); +var _elm_lang$core$Result$map2 = F3( + function (func, ra, rb) { + var _p4 = {ctor: '_Tuple2', _0: ra, _1: rb}; + if (_p4._0.ctor === 'Ok') { + if (_p4._1.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A2(func, _p4._0._0, _p4._1._0)); + } else { + return _elm_lang$core$Result$Err(_p4._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p4._0._0); + } + }); +var _elm_lang$core$Result$map3 = F4( + function (func, ra, rb, rc) { + var _p5 = {ctor: '_Tuple3', _0: ra, _1: rb, _2: rc}; + if (_p5._0.ctor === 'Ok') { + if (_p5._1.ctor === 'Ok') { + if (_p5._2.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A3(func, _p5._0._0, _p5._1._0, _p5._2._0)); + } else { + return _elm_lang$core$Result$Err(_p5._2._0); + } + } else { + return _elm_lang$core$Result$Err(_p5._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p5._0._0); + } + }); +var _elm_lang$core$Result$map4 = F5( + function (func, ra, rb, rc, rd) { + var _p6 = {ctor: '_Tuple4', _0: ra, _1: rb, _2: rc, _3: rd}; + if (_p6._0.ctor === 'Ok') { + if (_p6._1.ctor === 'Ok') { + if (_p6._2.ctor === 'Ok') { + if (_p6._3.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A4(func, _p6._0._0, _p6._1._0, _p6._2._0, _p6._3._0)); + } else { + return _elm_lang$core$Result$Err(_p6._3._0); + } + } else { + return _elm_lang$core$Result$Err(_p6._2._0); + } + } else { + return _elm_lang$core$Result$Err(_p6._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p6._0._0); + } + }); +var _elm_lang$core$Result$map5 = F6( + function (func, ra, rb, rc, rd, re) { + var _p7 = {ctor: '_Tuple5', _0: ra, _1: rb, _2: rc, _3: rd, _4: re}; + if (_p7._0.ctor === 'Ok') { + if (_p7._1.ctor === 'Ok') { + if (_p7._2.ctor === 'Ok') { + if (_p7._3.ctor === 'Ok') { + if (_p7._4.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A5(func, _p7._0._0, _p7._1._0, _p7._2._0, _p7._3._0, _p7._4._0)); + } else { + return _elm_lang$core$Result$Err(_p7._4._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._3._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._2._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._0._0); + } + }); +var _elm_lang$core$Result$mapError = F2( + function (f, result) { + var _p8 = result; + if (_p8.ctor === 'Ok') { + return _elm_lang$core$Result$Ok(_p8._0); + } else { + return _elm_lang$core$Result$Err( + f(_p8._0)); + } + }); +var _elm_lang$core$Result$fromMaybe = F2( + function (err, maybe) { + var _p9 = maybe; + if (_p9.ctor === 'Just') { + return _elm_lang$core$Result$Ok(_p9._0); + } else { + return _elm_lang$core$Result$Err(err); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Set.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Set.elmi new file mode 100644 index 0000000000000000000000000000000000000000..6630b984ebe5044236e7054ed32d3ed86d811f1f GIT binary patch literal 4144 zcmdT{O;5ux3~kr0Y;ZupkKlxaIPQqxfW!^%Q@5p4q_mmZ4heoef!OZbsDMc=sJ%3a z9sBtsi5&zx-xnztPGPrXTlie>4qsurcK?*m~PUt*0pXRjkg8N zrn+$4m0AkMc%`#Uq}BFOS3;X)rOiJUM#K<3DIxNnhz9J)OPjmANf$;P=oUZ4T3x;u~wz$*vqVw8(A<~jqymZpMESJMbwjIRYN-opb zsJ}Qsd+&+|g2i16n7uunCIHynR9sZ(+)(O``qRkP{-#ueLIj3wH3{KPs7hxgVCyh) z76DVHG@VI{Rei;Y{OS9cPL;s@6Fn5%f+WIrUn7;TdW+ath*c hB#(t0OXm5~r+LQkFrQ+JhU2DPla@B%c8w6p?;Y1h5-$J% literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Set.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Set.elmo new file mode 100644 index 0000000..7fcd718 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Set.elmo @@ -0,0 +1,130 @@ +var _elm_lang$core$Set$foldr = F3( + function (f, b, _p0) { + var _p1 = _p0; + return A3( + _elm_lang$core$Dict$foldr, + F3( + function (k, _p2, b) { + return A2(f, k, b); + }), + b, + _p1._0); + }); +var _elm_lang$core$Set$foldl = F3( + function (f, b, _p3) { + var _p4 = _p3; + return A3( + _elm_lang$core$Dict$foldl, + F3( + function (k, _p5, b) { + return A2(f, k, b); + }), + b, + _p4._0); + }); +var _elm_lang$core$Set$toList = function (_p6) { + var _p7 = _p6; + return _elm_lang$core$Dict$keys(_p7._0); +}; +var _elm_lang$core$Set$size = function (_p8) { + var _p9 = _p8; + return _elm_lang$core$Dict$size(_p9._0); +}; +var _elm_lang$core$Set$member = F2( + function (k, _p10) { + var _p11 = _p10; + return A2(_elm_lang$core$Dict$member, k, _p11._0); + }); +var _elm_lang$core$Set$isEmpty = function (_p12) { + var _p13 = _p12; + return _elm_lang$core$Dict$isEmpty(_p13._0); +}; +var _elm_lang$core$Set$Set_elm_builtin = function (a) { + return {ctor: 'Set_elm_builtin', _0: a}; +}; +var _elm_lang$core$Set$empty = _elm_lang$core$Set$Set_elm_builtin(_elm_lang$core$Dict$empty); +var _elm_lang$core$Set$singleton = function (k) { + return _elm_lang$core$Set$Set_elm_builtin( + A2( + _elm_lang$core$Dict$singleton, + k, + {ctor: '_Tuple0'})); +}; +var _elm_lang$core$Set$insert = F2( + function (k, _p14) { + var _p15 = _p14; + return _elm_lang$core$Set$Set_elm_builtin( + A3( + _elm_lang$core$Dict$insert, + k, + {ctor: '_Tuple0'}, + _p15._0)); + }); +var _elm_lang$core$Set$fromList = function (xs) { + return A3(_elm_lang$core$List$foldl, _elm_lang$core$Set$insert, _elm_lang$core$Set$empty, xs); +}; +var _elm_lang$core$Set$map = F2( + function (f, s) { + return _elm_lang$core$Set$fromList( + A2( + _elm_lang$core$List$map, + f, + _elm_lang$core$Set$toList(s))); + }); +var _elm_lang$core$Set$remove = F2( + function (k, _p16) { + var _p17 = _p16; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$remove, k, _p17._0)); + }); +var _elm_lang$core$Set$union = F2( + function (_p19, _p18) { + var _p20 = _p19; + var _p21 = _p18; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$union, _p20._0, _p21._0)); + }); +var _elm_lang$core$Set$intersect = F2( + function (_p23, _p22) { + var _p24 = _p23; + var _p25 = _p22; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$intersect, _p24._0, _p25._0)); + }); +var _elm_lang$core$Set$diff = F2( + function (_p27, _p26) { + var _p28 = _p27; + var _p29 = _p26; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$diff, _p28._0, _p29._0)); + }); +var _elm_lang$core$Set$filter = F2( + function (p, _p30) { + var _p31 = _p30; + return _elm_lang$core$Set$Set_elm_builtin( + A2( + _elm_lang$core$Dict$filter, + F2( + function (k, _p32) { + return p(k); + }), + _p31._0)); + }); +var _elm_lang$core$Set$partition = F2( + function (p, _p33) { + var _p34 = _p33; + var _p35 = A2( + _elm_lang$core$Dict$partition, + F2( + function (k, _p36) { + return p(k); + }), + _p34._0); + var p1 = _p35._0; + var p2 = _p35._1; + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Set$Set_elm_builtin(p1), + _1: _elm_lang$core$Set$Set_elm_builtin(p2) + }; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/String.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/String.elmi new file mode 100644 index 0000000000000000000000000000000000000000..e8478c09ce2ef809be3bc0a06f886869cd4c82a9 GIT binary patch literal 3828 zcmcgvOOMkq5Kf!ta^q)!#D(J?K_DR&4hx7QGOgPhxp9=FyX?Qmjpt!IYMY>nUeeDq z^Lb`6V^5MK_`L+QfM+H3;f)sc4sfVzc*Q%C` zI<3~^UZ&-iIPzBQ_JpcUYnqiOzB?^E1S-~}UMP;}Mc0eA?|vvwNM$1k7D`obKBBk_bkP}C)Ml~4 zv`lg*lYM$>F+!KO_xheJ=GgNIK;{@%g^-z07#^R8*UELMz%wj#M33b0!nIw7I&m4Ib3W$aoIxzJNZ~e)NeTOv zlns|8i7<87_5;0eHgw-J51>nTQ}34v7N^>43)%$F~tk> z%FZ7PW2RB}lY-y5GzO9sJWH2&6knR&Q74>)LbQyj3FrOpF literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/String.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/String.elmo new file mode 100644 index 0000000..07b139f --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/String.elmo @@ -0,0 +1,43 @@ +var _elm_lang$core$String$fromList = _elm_lang$core$Native_String.fromList; +var _elm_lang$core$String$toList = _elm_lang$core$Native_String.toList; +var _elm_lang$core$String$toFloat = _elm_lang$core$Native_String.toFloat; +var _elm_lang$core$String$toInt = _elm_lang$core$Native_String.toInt; +var _elm_lang$core$String$indices = _elm_lang$core$Native_String.indexes; +var _elm_lang$core$String$indexes = _elm_lang$core$Native_String.indexes; +var _elm_lang$core$String$endsWith = _elm_lang$core$Native_String.endsWith; +var _elm_lang$core$String$startsWith = _elm_lang$core$Native_String.startsWith; +var _elm_lang$core$String$contains = _elm_lang$core$Native_String.contains; +var _elm_lang$core$String$all = _elm_lang$core$Native_String.all; +var _elm_lang$core$String$any = _elm_lang$core$Native_String.any; +var _elm_lang$core$String$toLower = _elm_lang$core$Native_String.toLower; +var _elm_lang$core$String$toUpper = _elm_lang$core$Native_String.toUpper; +var _elm_lang$core$String$lines = _elm_lang$core$Native_String.lines; +var _elm_lang$core$String$words = _elm_lang$core$Native_String.words; +var _elm_lang$core$String$trimRight = _elm_lang$core$Native_String.trimRight; +var _elm_lang$core$String$trimLeft = _elm_lang$core$Native_String.trimLeft; +var _elm_lang$core$String$trim = _elm_lang$core$Native_String.trim; +var _elm_lang$core$String$padRight = _elm_lang$core$Native_String.padRight; +var _elm_lang$core$String$padLeft = _elm_lang$core$Native_String.padLeft; +var _elm_lang$core$String$pad = _elm_lang$core$Native_String.pad; +var _elm_lang$core$String$dropRight = _elm_lang$core$Native_String.dropRight; +var _elm_lang$core$String$dropLeft = _elm_lang$core$Native_String.dropLeft; +var _elm_lang$core$String$right = _elm_lang$core$Native_String.right; +var _elm_lang$core$String$left = _elm_lang$core$Native_String.left; +var _elm_lang$core$String$slice = _elm_lang$core$Native_String.slice; +var _elm_lang$core$String$repeat = _elm_lang$core$Native_String.repeat; +var _elm_lang$core$String$join = _elm_lang$core$Native_String.join; +var _elm_lang$core$String$split = _elm_lang$core$Native_String.split; +var _elm_lang$core$String$foldr = _elm_lang$core$Native_String.foldr; +var _elm_lang$core$String$foldl = _elm_lang$core$Native_String.foldl; +var _elm_lang$core$String$reverse = _elm_lang$core$Native_String.reverse; +var _elm_lang$core$String$filter = _elm_lang$core$Native_String.filter; +var _elm_lang$core$String$map = _elm_lang$core$Native_String.map; +var _elm_lang$core$String$length = _elm_lang$core$Native_String.length; +var _elm_lang$core$String$concat = _elm_lang$core$Native_String.concat; +var _elm_lang$core$String$append = _elm_lang$core$Native_String.append; +var _elm_lang$core$String$uncons = _elm_lang$core$Native_String.uncons; +var _elm_lang$core$String$cons = _elm_lang$core$Native_String.cons; +var _elm_lang$core$String$fromChar = function ($char) { + return A2(_elm_lang$core$String$cons, $char, ''); +}; +var _elm_lang$core$String$isEmpty = _elm_lang$core$Native_String.isEmpty; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Task.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Task.elmi new file mode 100644 index 0000000000000000000000000000000000000000..26a2d2e0b1da68357d38aceb6736bb995c5c15fb GIT binary patch literal 11881 zcmeHNNpGAm6o$-Xm|QCL(4SGM>T=1kRc}ocCAn7yOfo9V6qr=~_l4rOz<3fS_|aDC zT*d}tzwa%dpBK;T{a%`yZ~oUh&0eP}zcck^RFvA3UzmR{sCH4Lbqw`oqBbd17Ma>Y zdD)cT^2$42dCw~!pt7#?_npoo7}X0@9^c;U92x{g{<$oR66)(_kluq}tIMP)GiVT~ zy4KmY28_#FRedurSLPqytv;%16IFw!%P*U%HqTDr%S%;n9ze>oo9JH0yHtZ%(Bb+j zRW*|aJ|8|`e9Azd@agJWSGyF(eFfv6pL@{4SKb0T^tg~dwRp0D={LACT04brAM*uh z!*$8aAk{*b=EdXGg%CxEB{eS`dGmBW0c`3u)B{*Y1$K|k z`rL*cHF0e`&nHDnI)<`1dMM)P4B0rv0fi2!i_H|QNQ@sDNUJD|FWR{nRmwy-(s*Nt zY8)yMW<-xbLP1nySwnw+Oy=iW0-USMj{vzZNDMF{pDM-O+4$RXlW%J0oQKpfieq}& z+c0?mGkU?-+ub(RZ(PRtWI6YwGivSfX>uMcg@W@Xa0vG!nfWq8Jc40igCi3b1P9p5 ztbqt7@$o!U94ss3Z5cC=&WQl~w&9U6CgBO^g(H*85gdqz);F6aIjUAsF{C2-bSy|Y zu#%Q{Q_b+o+0}+e#!U&2*WNZfG9gHK;(6Uoi!cho0a9)mrP)De zVTDCLkyC@1io{QeAi2PSg8cM;htSo`cx1?h@JN!2%|0^ZLU<&}#fC?QTnLY3dThfZ z!!CqJ%aNrGP9j2<1PA6Dc3?3S1^Z$Ee_7r=>wKeJc{mVkZ90$K>DuUY(fG=qurA|% zvYdO;85`2I19B1PTE?zJGwQsdC5Puf^WilbuX-PtB&qjw@?Q8i~fF^ODqE!s9e&*q@Bp{%Bz{62S688)DvTIcjO1X2b%B~=pBswCpKLL3}&|dHOwP$ zarGF`WERB>Nf^FV`@5snL}hkN#k1`D3ZLKH5FqVP(gkv4V`k+WdtZ=rz1vLf9(-A6 zH}DRgE^ZU2;L7_IL^Kt6GjxFwhju&A)@9rqz9Gp2l~lC(pEpWqYTU;B_s4WTXR&IV z-G!K!V>z1aBg4i<-ZAE~R(m^4$Xq71qm@!IA7JnpM?MpRf!N7qOIXWzRp5Zh-cOCy zFO596cu;_1qONoZaP7eoWNbVvaNaUCNkR6L92tzoXQ3sRB!&~*t}H`f*#)?hD>|L# z_^*k;C>YtffLO(@^|KL|m_z!3inTI7zsz$lBrFC~J6)lXf7QS^?QP6ctY z?5HUbWr~2jsUcSb0T77nvq9B7ubCNcA3IGZA$2_Su#m%^b6A&$JkcDm%pzTsQGztP zERMAT(9LYydsr6?BnEV%XHDM9q}~RhP;ID1LM>IPFa;6!Jrr|n5K5DG%WpN4QdOB7 z&a7n?+dSC%Ent|jB&^?-1=s(%E+q{G*T$Q%897idudp{d#(E1tbAbI}MJ4<_CO)Y3 zu2Vv3$+f0H%2=kBSE&DiN+vUcmjAM@WVB`3~`mOcb zcKNMb?9!Ni#DdvS%s*I6Z|v$gj<0OEn(ska1hELxE(Fo^KpVhI$c1tT1|rzzum_7W zAstdw!s4?BizM`*Q$AQem30nm(4o2q4b@tn-P38|xlM^=b}#lF_hO|E4?o@s7PNO`A9rAB@SiG~m^gmxgOjq~RX3d(l#*G=fAE zO;wj3*HSGM@yu#6q)USC3>N4<(ZpgLaqQZ%Klvd5aKukyH4%QymkE!;cVira12t_! zXTDLhdi)z?zbQVctM!E|*(~16Z)N7aC)%g@OK1Yx(QCX9_SivBljG20qi3iJgF%s WTGLCRJ-_GGXYoq_ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Time.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Time.elmo new file mode 100644 index 0000000..35ceb20 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Time.elmo @@ -0,0 +1,185 @@ +var _elm_lang$core$Time$setInterval = _elm_lang$core$Native_Time.setInterval_; +var _elm_lang$core$Time$spawnHelp = F3( + function (router, intervals, processes) { + var _p0 = intervals; + if (_p0.ctor === '[]') { + return _elm_lang$core$Task$succeed(processes); + } else { + var _p1 = _p0._0; + var spawnRest = function (id) { + return A3( + _elm_lang$core$Time$spawnHelp, + router, + _p0._1, + A3(_elm_lang$core$Dict$insert, _p1, id, processes)); + }; + var spawnTimer = _elm_lang$core$Native_Scheduler.spawn( + A2( + _elm_lang$core$Time$setInterval, + _p1, + A2(_elm_lang$core$Platform$sendToSelf, router, _p1))); + return A2(_elm_lang$core$Task$andThen, spawnRest, spawnTimer); + } + }); +var _elm_lang$core$Time$addMySub = F2( + function (_p2, state) { + var _p3 = _p2; + var _p6 = _p3._1; + var _p5 = _p3._0; + var _p4 = A2(_elm_lang$core$Dict$get, _p5, state); + if (_p4.ctor === 'Nothing') { + return A3( + _elm_lang$core$Dict$insert, + _p5, + _elm_lang$core$Native_List.fromArray( + [_p6]), + state); + } else { + return A3( + _elm_lang$core$Dict$insert, + _p5, + A2(_elm_lang$core$List_ops['::'], _p6, _p4._0), + state); + } + }); +var _elm_lang$core$Time$inMilliseconds = function (t) { + return t; +}; +var _elm_lang$core$Time$millisecond = 1; +var _elm_lang$core$Time$second = 1000 * _elm_lang$core$Time$millisecond; +var _elm_lang$core$Time$minute = 60 * _elm_lang$core$Time$second; +var _elm_lang$core$Time$hour = 60 * _elm_lang$core$Time$minute; +var _elm_lang$core$Time$inHours = function (t) { + return t / _elm_lang$core$Time$hour; +}; +var _elm_lang$core$Time$inMinutes = function (t) { + return t / _elm_lang$core$Time$minute; +}; +var _elm_lang$core$Time$inSeconds = function (t) { + return t / _elm_lang$core$Time$second; +}; +var _elm_lang$core$Time$now = _elm_lang$core$Native_Time.now; +var _elm_lang$core$Time$onSelfMsg = F3( + function (router, interval, state) { + var _p7 = A2(_elm_lang$core$Dict$get, interval, state.taggers); + if (_p7.ctor === 'Nothing') { + return _elm_lang$core$Task$succeed(state); + } else { + var tellTaggers = function (time) { + return _elm_lang$core$Task$sequence( + A2( + _elm_lang$core$List$map, + function (tagger) { + return A2( + _elm_lang$core$Platform$sendToApp, + router, + tagger(time)); + }, + _p7._0)); + }; + return A2( + _elm_lang$core$Task$andThen, + function (_p8) { + return _elm_lang$core$Task$succeed(state); + }, + A2(_elm_lang$core$Task$andThen, tellTaggers, _elm_lang$core$Time$now)); + } + }); +var _elm_lang$core$Time$subscription = _elm_lang$core$Native_Platform.leaf('Time'); +var _elm_lang$core$Time$State = F2( + function (a, b) { + return {taggers: a, processes: b}; + }); +var _elm_lang$core$Time$init = _elm_lang$core$Task$succeed( + A2(_elm_lang$core$Time$State, _elm_lang$core$Dict$empty, _elm_lang$core$Dict$empty)); +var _elm_lang$core$Time$onEffects = F3( + function (router, subs, _p9) { + var _p10 = _p9; + var rightStep = F3( + function (_p12, id, _p11) { + var _p13 = _p11; + return { + ctor: '_Tuple3', + _0: _p13._0, + _1: _p13._1, + _2: A2( + _elm_lang$core$Task$andThen, + function (_p14) { + return _p13._2; + }, + _elm_lang$core$Native_Scheduler.kill(id)) + }; + }); + var bothStep = F4( + function (interval, taggers, id, _p15) { + var _p16 = _p15; + return { + ctor: '_Tuple3', + _0: _p16._0, + _1: A3(_elm_lang$core$Dict$insert, interval, id, _p16._1), + _2: _p16._2 + }; + }); + var leftStep = F3( + function (interval, taggers, _p17) { + var _p18 = _p17; + return { + ctor: '_Tuple3', + _0: A2(_elm_lang$core$List_ops['::'], interval, _p18._0), + _1: _p18._1, + _2: _p18._2 + }; + }); + var newTaggers = A3(_elm_lang$core$List$foldl, _elm_lang$core$Time$addMySub, _elm_lang$core$Dict$empty, subs); + var _p19 = A6( + _elm_lang$core$Dict$merge, + leftStep, + bothStep, + rightStep, + newTaggers, + _p10.processes, + { + ctor: '_Tuple3', + _0: _elm_lang$core$Native_List.fromArray( + []), + _1: _elm_lang$core$Dict$empty, + _2: _elm_lang$core$Task$succeed( + {ctor: '_Tuple0'}) + }); + var spawnList = _p19._0; + var existingDict = _p19._1; + var killTask = _p19._2; + return A2( + _elm_lang$core$Task$andThen, + function (newProcesses) { + return _elm_lang$core$Task$succeed( + A2(_elm_lang$core$Time$State, newTaggers, newProcesses)); + }, + A2( + _elm_lang$core$Task$andThen, + function (_p20) { + return A3(_elm_lang$core$Time$spawnHelp, router, spawnList, existingDict); + }, + killTask)); + }); +var _elm_lang$core$Time$Every = F2( + function (a, b) { + return {ctor: 'Every', _0: a, _1: b}; + }); +var _elm_lang$core$Time$every = F2( + function (interval, tagger) { + return _elm_lang$core$Time$subscription( + A2(_elm_lang$core$Time$Every, interval, tagger)); + }); +var _elm_lang$core$Time$subMap = F2( + function (f, _p21) { + var _p22 = _p21; + return A2( + _elm_lang$core$Time$Every, + _p22._0, + function (_p23) { + return f( + _p22._1(_p23)); + }); + }); +_elm_lang$core$Native_Platform.effectManagers['Time'] = {pkg: 'elm-lang/core', init: _elm_lang$core$Time$init, onEffects: _elm_lang$core$Time$onEffects, onSelfMsg: _elm_lang$core$Time$onSelfMsg, tag: 'sub', subMap: _elm_lang$core$Time$subMap}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Tuple.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Tuple.elmi new file mode 100644 index 0000000000000000000000000000000000000000..ff1e89ee570f1ebeac11b757dd36e64dfd6da810 GIT binary patch literal 656 zcma)(y$*sv5QO&-6iXk(#*zoHqSM~&t*0S5eggXbnz%nl<t$Uo#>G}S9ZToMo7P)HlwO622wj_Fqqpj RgZ$-;hZ8a_l^9O5@d1sZI0OIy literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Tuple.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Tuple.elmo new file mode 100644 index 0000000..0b5bc70 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/Tuple.elmo @@ -0,0 +1,26 @@ +var _elm_lang$core$Tuple$mapSecond = F2( + function (func, _p0) { + var _p1 = _p0; + return { + ctor: '_Tuple2', + _0: _p1._0, + _1: func(_p1._1) + }; + }); +var _elm_lang$core$Tuple$mapFirst = F2( + function (func, _p2) { + var _p3 = _p2; + return { + ctor: '_Tuple2', + _0: func(_p3._0), + _1: _p3._1 + }; + }); +var _elm_lang$core$Tuple$second = function (_p4) { + var _p5 = _p4; + return _p5._1; +}; +var _elm_lang$core$Tuple$first = function (_p6) { + var _p7 = _p6; + return _p7._0; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/core/5.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..697f901c054057bcf8587b4dc836e96c7fcf7fee GIT binary patch literal 13720 zcmeHO+fLg+5T%VB;HA&~iN>fct$LMO(wC~O5TPGn90M*UMz+(Izi({s3A;;p*g1=| zLgghyXht(<&RlkO+1l!Vo(>;dJ9&BetV|bY>U)$`b*_Go)u;XO2!H=n*XgzT^0HIZ zw9C`e7?YxJMbmmP$aHPrA?5=nWY7^f2^5eugKj$HPjCFQElM90 z*#2C!e~Jbqc;y25AW32lF8ag9a!H~XMnwnbX{~tu!U392jKl?el9&%!lZ(1D60HD* z=QK3M2US@CUzZBs%aH)Xh%lgtrfG{LbYWU2Mgrl#)#=VK@J7dJbK#+_M90M?z-8eLRp*2L?u8n`)tAIG*NNHAl+7b?Drkl4Ou3`LykUPqD8vgPvF3K>o7OK$d7l zA@X&6@OGZz3q4qAjbIu_C4fPz!F3}H&Rid)Nv^{#iBBK_&2<>z7jl@VbJV3XbthvI zU1mUo`2lt&I$Q4uxTjr&VV=u~)^~0)Fvwvh#etEOQ)f8P&F#ql3#iFTu{gRb9NkJ4qCI)6l zv7uu$+qyGIpaV$Q{&+@;jf4j`8 zy&OsBbz^P*ND`OI36jH_o<2=JC8qIR7XrDXGbSo(m zg%L5J0zr>;Q(ILtaQdph<|fsJqQeT73=XrT*qpqkLlnf?H7=vaTMC)wgfU5PX)bH2 z?q-dQ_`@7y=ooJ%b8xdc%(TZga=);yv)-;s^~+l)hOh2?NrvzKZ#W78{R1HmIa9!H za~#yE#1vgSXC%5{p{+~X07=v$IC@`T^cY7Jmy<<*v?22ktb0P_A#gUCU|cr2+?fqe zI@J@?U)V!Q5SGYncE+4(UG|2`8})cH5O=Kid+#0281P5EObo;!{o&mkcW?T~grT^i zJyR37(!W*<#1-SslAr_(FR=n~Mt=|>h)ee@VG@cf+WoD-mHxgx5LfKp{=q%@*B7yY zxMXb91X(jI90PIY)}id9dw|w=y`kifxi%3@18N-$gGR1OttE*r1L zv$HQVHu^5;6p&42-CWi}z0#SNx}o2YEIZRG(}ioKYT-(?da6{Z-^p=K7PQH=uvK9_ zZ=A{8Ark1LTdNfTlS~%6l-{-IuCj=X0P(%}$N>aZvJh>xftP1pD!7$C)S`XS#!u1r z^P8q55#Zi|EM4yDOdh3mwXZZ<3A-jF2kCsypeYcHBM2L%+9Q4i5bv;49cQv^O|@+> z4?*ZRJu0+8)o|_mw#>eoWRN{rw}}jrisAk#7%;;c4gVpAOJgRf2jO`B;)UEu=neH6 zv~2dga&NV~3Z~Tt?EWl_BpLT-f1BG)}D9pesfx_`;NRGeVeZ^r8gc!(8yp*CSy7 zeba_7Tt{D+J%ZGFjk%smg~(u|J-a)I)n;5T_0sc@iGw46C18)K;ubYSMa&i4Vzgi=0? z|Hd(RP)aI9QqBQM&5vQaip8DBoXE$h+R7H_I+1eu1vheW+;Kc$W=JEYoDn?@UW-Ij zzDU_cSF5x=wsw+MBbCgPR%=vYjkbkB2?|kmzXp%7cUBDfc%2tDJ$nJeQo1wKl(TcNgOYZHz?w F<_A)v%Vz)p literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Scroll.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Scroll.elmo new file mode 100644 index 0000000..fb0b404 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Scroll.elmo @@ -0,0 +1,12 @@ +var _elm_lang$dom$Dom_Scroll$toX = _elm_lang$dom$Native_Dom.setScrollLeft; +var _elm_lang$dom$Dom_Scroll$x = _elm_lang$dom$Native_Dom.getScrollLeft; +var _elm_lang$dom$Dom_Scroll$toRight = _elm_lang$dom$Native_Dom.toRight; +var _elm_lang$dom$Dom_Scroll$toLeft = function (id) { + return A2(_elm_lang$dom$Dom_Scroll$toX, id, 0); +}; +var _elm_lang$dom$Dom_Scroll$toY = _elm_lang$dom$Native_Dom.setScrollTop; +var _elm_lang$dom$Dom_Scroll$y = _elm_lang$dom$Native_Dom.getScrollTop; +var _elm_lang$dom$Dom_Scroll$toBottom = _elm_lang$dom$Native_Dom.toBottom; +var _elm_lang$dom$Dom_Scroll$toTop = function (id) { + return A2(_elm_lang$dom$Dom_Scroll$toY, id, 0); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmi new file mode 100644 index 0000000000000000000000000000000000000000..b2e300112fa2d8a23098cc93d149f5f9f35629cf GIT binary patch literal 2095 zcmeHHJx{|h5OtalDj^{;GBfiBy3rOSB#ID4FguM&tfsMKJD~FG8SpF4wJsURMwatk z&hOs&J{aqK=T3{99E*B$Rr98FdR(Xtj!v?y60)o;)bv9Zwi-EgJXLK|aJ|KE$WwPf zq-@HKTp40b=OS+r9Io+vM*^ngUK%ifEnVL-B{F!R3XzU1AkCYfO zy=O|6@)NH|YkT%0jm&E?T!f2mgjZ>+snUheW`J}qgTbzwV!?GOn<2ttoc=VUv`4k! z;#GTehaP7Unt^3Yt7TILA(NHTXc1ug9qyk28VjxaBn&){V|t^t(wG{x1|&;wYsGC8 z2XPM(r8C?i8$|NfVvr%>9s};Wh literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmo new file mode 100644 index 0000000..a11fa14 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom-Size.elmo @@ -0,0 +1,6 @@ +var _elm_lang$dom$Dom_Size$width = _elm_lang$dom$Native_Dom.width; +var _elm_lang$dom$Dom_Size$height = _elm_lang$dom$Native_Dom.height; +var _elm_lang$dom$Dom_Size$VisibleContentWithBordersAndMargins = {ctor: 'VisibleContentWithBordersAndMargins'}; +var _elm_lang$dom$Dom_Size$VisibleContentWithBorders = {ctor: 'VisibleContentWithBorders'}; +var _elm_lang$dom$Dom_Size$VisibleContent = {ctor: 'VisibleContent'}; +var _elm_lang$dom$Dom_Size$Content = {ctor: 'Content'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom.elmi new file mode 100644 index 0000000000000000000000000000000000000000..666d41cad7a466c667fbc09942c664337cda5e7b GIT binary patch literal 1553 zcmeHGO;3a{5FJ`T;>{mo;(3p{nwaRuxO+DRx*M{EnnF$d_ZpqYLXkBldXr0;>6_O# zUqqwtjID^zOq=@LsAk8uEN#udF`txdZQ)y3ac;arxVS9^UnJMgS;q$Mvz6^`tZzz0 zp9X;RQngh9a)c#IoqI@vGrp_ZE(lNV)oZTV2_@-Db=3>Ja@l7DrtHC}ZfhMfMPTTc zS2cvsLe@SHG^LNa^(IsrZ&bTyBq}Qw3xcLdk;Ef3O7(#F7Qp<6s`rfPx^q>t6CgX% zcR&V(8};^M04M?MXH4${!y+jP#m!R2g>`5ro*mV5P+O2n?c8r+E&qiNF za+dikso_`+rHfgn!6qW-Nk=BixVF5pvjsiQ{of;^zwZ&6I@+y%Hzu3>>6q*c<3KiO LT|XPV`k;OTn|7?! literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom.elmo new file mode 100644 index 0000000..00d6a73 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/Dom.elmo @@ -0,0 +1,5 @@ +var _elm_lang$dom$Dom$blur = _elm_lang$dom$Native_Dom.blur; +var _elm_lang$dom$Dom$focus = _elm_lang$dom$Native_Dom.focus; +var _elm_lang$dom$Dom$NotFound = function (a) { + return {ctor: 'NotFound', _0: a}; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/dom/1.1.1/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..46388437bb26052b60e047306837325606ce0331 GIT binary patch literal 4417 zcmeHL(N2Rf6h$dyQGdlXdr{+~@?_8$@drvN3$Cn&!i;{s2)%|i!O@kyOyJ?tlpb#H zz2~&WaheOY#+fmmUvjcusf#4QmQ|YKcS2WW$s`6~TqEMeyuPt4 zD6R+1>#qGjf7UY;QBg3}=P9cjn38`-WJcu(NM69=3WBEx)5IkdX0jZ^p-1u=LmX@z z@?V&&_!utDo;fK~QS>E!NSIC`G#ZwBpC`}-6{p%(uu&EFzz$#tIO{)=GTT5hI()Io z3wkATW$#eUYz z6$x-$M?F5V@FQ9X4pMPrCKc^iJE6FkghEAN%YX)Y)B3OCGGyfdM(bM?*J}NTTy)o1 zZF6EE3>_2{WnceCYPz$%G8CFRPIfXg?MJrc1sYJ=lgz-O?^tB!;D;3`okQ%Au7}G* RdnRlCL%j9<0r*RuzX9fJ;#vRz literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/html/2.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/html/2.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..282d793f610a594216a800e522b0a9cf0a6f5f44 GIT binary patch literal 5022 zcmeHJT~C8B6s-zmvfnbg=!^PbqHc-NnHWucFHk0tfuUsy{(4u|%a&o4uf!S4%cX&P za(jBu=|!k`%ymEm8ZAZpuxeGjWDad-FEQ|UmY48{k9we#q)N9ZL4Y`YTbhGd~u%?84&RhlTa2cjNBhkoD zU_*c+GZ3ty-Rzfj%B0Mw983-E0jja3J^PCDG;}jgp_wlmsu6DxItp{BAk3(7yug$e zCPF`&mlkHxX>BwFeYUNk3QmoFEwy;Zl34b=HI2Q*S6S~~*@iV;(wKu~Tr{s(z1hWt{uR40?`ck9%sOxC7DaMLv#>=^t)4dIgEIAO zp_XOIk)AES?z0;6IdJ&hY_V5UfH5N+z5yhV)zJ8{$w~}&0{VBD~jrj%><_rF^5I=K~N&MDGBce@i ze{V#fI2h6Bm-|?ra^KQ^vJhDwVOOxG_dSfE(*=ZHUNZc5ICEhEGi_F$jCDmsDuD4YUlL)+U1)Ef;S0M#LZ>yVu zp#^ti$u?Z{u1eE*>_k84d4It8g|Aw54w4iB2p%JU7z1Yvo`&r^1e7RCQ^$53D7-C4 z_%LZzmY=L8NA_l<8Ml*I$W^k$79mSOCt2kDB$pjt*a0R3hsNN&Kv}8l=4sSo$j6sZ zuC7zD6l)psC{t`Dipg50&KCo$OP9b)U4c8mnz2)bbw}79n7mYERH0IzaD0j#{g4gV zsAOUjddp>c!v1^vD7J$1aeUPa*bvS`IG@1Lsei+9S&Pal+@~{ ze!btk0sJeBu^?LQVTMSo^(_Ysdbz1+qehVdFK)us*tm*=g<9(@LsW;Ovy+X8%sf|v ziYjFOeXX)~*@YsuMmFDZGX-b%wQSF=;=cr6N8UYyTO<%MJcFTtCe-tS8*vB?08el1kIPU``F^Le_$|QPO{{3j_PCC()WI1x; zCG?A_FYmyQ*6%mCa^U}1q>B$JU*5pAcPr&Rw2$DQ`7-Cx9bO*)$g`VV6a{{Q z|KGEv!1g>_)a|c4N%8(^^A0%84{v&>NhGz;y>FYK(|gC~ zODXatM_B5<{!9wJFaLr+hByIy@%Tr|<#m=XVBiKJ?fdSRMLhJ%d=+Zo&lFmt2CFz| za4Cvas>A19@!}3T_#Mak^oikD4reZc$2>a0=8eG@pkJ?CGx{C2w;`U^3TTw0Q<8%n zEAXqISJKWA-tQX_-=PEgXL+9G?pEI;y6E>hfcmuo;58FG>wqPvc}N5B?}v|46gVa3 zD$<81C*_l~fA2*kMcjVlIpOxN)-r|F00eWHCrS+YxQ=~mjbHVx)i31$BEA%Vufzs} zyNlumM{+_3@#g}TW_k71?$Bt$=KUpqFhk;S0~|Ae!wa+cad-07fbc%6-k|3|lqB$k zCD%F+Dw=}s8_oz3rMH5|A}>0`&SaAezLn$PG#5hNW(}PqnN^QxGFgahC3~(7%g={2C%4C&5#U~D~?R%Nkq8(WYA>B?#&cEygYkZmOct?|foIcSYXYdo&gkkbXtzzE-K)E&m~l4T;h zWt_=jC8=qerbd6&6?xvBe=u~|E(`F#i+@B8&>dxW-LQ=n@N>x}rem1Xqd5#PQqP>W zM|kOmUbT{dqw^T%t%AhpWNf5K4gKha3-6R}TbCM~$0Mhychp+nQ6QNX)h?x0i!*8| zfi&C&SM@tc9V)dA_npY5)=N~_)Ov5RSFcBBQ|qrQwLY1|9bxuI2U2X)!10PCLIl#@ z=G)PdL;Xi{?6kd)e0!y5rY^R@wcVrHk3+C`+4AiAS_N0ukrhPYE~aL1smiMwdmX!S z_^4h@*5ZqWeE4*Rl>Ziej&7x6uy?74LEF}wTvyAELZ$U4E9E$t$Iv6cZ;?sCj!=4F zF4F6Z;^uJmz|%EJHyha)5^8Kc^wY$Uy0K^FIY^wR*YFrnY2~?<=OCtsnG{|;Den2h z5;mgj%eD`nE|EJni8Qxoe_gHaQ}GAPYebxVq(~nT*|6J))M{)vi9`6-_Da~Q5nDB~ z-UT~-)kwFUGDM=*Avlk_v1c$%sHaZb)@!$3dy||rMfJML%rfcLR$fr7!i!cKnCvm` zbL7Y3*u0;T_k@h686gC-?`Jj9BFd9{nPkhCofwgVDCKmQ*;SQ_061wjJEb{13}jZ; z(Da~@jMhaJU6J<*tnF9u+raDQIy6eKdr~346vM z#EI)LR%v6(9KUbx6F_yZPMd)y!UgBwRCf;{e6`-CT6^6tK>H%wo?4J#an68}c#-oZ zdJbfH1qb(Vq=CcSHQ$KF)*(6DorJT$8k&-LE6h!O+z#oQZOCp|EHCB~7Y;*c9yyo~ zUSl3Ppsy~-t7X_ur-vZ~L2cTIURWXQX wV5-*HZLN!m_U*oH9W~6?sG%$?S466B9kr~y#>+-Z*|KuI!Hd|0`!qM%e;}?Q%>V!Z literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http-Progress.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http-Progress.elmo new file mode 100644 index 0000000..826e7e7 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http-Progress.elmo @@ -0,0 +1,195 @@ +var _elm_lang$http$Http_Progress$onSelfMsg = F3( + function (router, _p0, state) { + return _elm_lang$core$Task$succeed(state); + }); +var _elm_lang$http$Http_Progress$addSub = F2( + function (_p1, subDict) { + var _p2 = _p1; + var _p3 = _p2._1; + var request = _p3.request; + var uid = A2( + _elm_lang$core$Basics_ops['++'], + _p2._0, + A2(_elm_lang$core$Basics_ops['++'], request.method, request.url)); + return A3(_elm_lang$core$Dict$insert, uid, _p3, subDict); + }); +var _elm_lang$http$Http_Progress$collectSubs = function (subs) { + return A3(_elm_lang$core$List$foldl, _elm_lang$http$Http_Progress$addSub, _elm_lang$core$Dict$empty, subs); +}; +var _elm_lang$http$Http_Progress$toTask = F2( + function (router, _p4) { + var _p5 = _p4; + return A2( + _elm_lang$core$Task$onError, + function (_p6) { + return A2( + _elm_lang$core$Platform$sendToApp, + router, + _p5.toError(_p6)); + }, + A2( + _elm_lang$core$Task$andThen, + _elm_lang$core$Platform$sendToApp(router), + A2( + _elm_lang$http$Native_Http.toTask, + _p5.request, + _elm_lang$core$Maybe$Just( + function (_p7) { + return A2( + _elm_lang$core$Platform$sendToApp, + router, + _p5.toProgress(_p7)); + })))); + }); +var _elm_lang$http$Http_Progress$spawnRequests = F3( + function (router, trackedRequests, state) { + var _p8 = trackedRequests; + if (_p8.ctor === '[]') { + return _elm_lang$core$Task$succeed(state); + } else { + return A2( + _elm_lang$core$Task$andThen, + function (process) { + return A3( + _elm_lang$http$Http_Progress$spawnRequests, + router, + _p8._1, + A3(_elm_lang$core$Dict$insert, _p8._0._0, process, state)); + }, + _elm_lang$core$Process$spawn( + A2(_elm_lang$http$Http_Progress$toTask, router, _p8._0._1))); + } + }); +var _elm_lang$http$Http_Progress$onEffects = F3( + function (router, subs, state) { + var rightStep = F3( + function (id, trackedRequest, _p9) { + var _p10 = _p9; + return { + ctor: '_Tuple3', + _0: _p10._0, + _1: _p10._1, + _2: A2( + _elm_lang$core$List_ops['::'], + {ctor: '_Tuple2', _0: id, _1: trackedRequest}, + _p10._2) + }; + }); + var bothStep = F4( + function (id, process, _p12, _p11) { + var _p13 = _p11; + return { + ctor: '_Tuple3', + _0: _p13._0, + _1: A3(_elm_lang$core$Dict$insert, id, process, _p13._1), + _2: _p13._2 + }; + }); + var leftStep = F3( + function (id, process, _p14) { + var _p15 = _p14; + return { + ctor: '_Tuple3', + _0: A2( + _elm_lang$core$List_ops['::'], + _elm_lang$core$Process$kill(process), + _p15._0), + _1: _p15._1, + _2: _p15._2 + }; + }); + var subDict = _elm_lang$http$Http_Progress$collectSubs(subs); + var _p16 = A6( + _elm_lang$core$Dict$merge, + leftStep, + bothStep, + rightStep, + state, + subDict, + { + ctor: '_Tuple3', + _0: _elm_lang$core$Native_List.fromArray( + []), + _1: _elm_lang$core$Dict$empty, + _2: _elm_lang$core$Native_List.fromArray( + []) + }); + var dead = _p16._0; + var ongoing = _p16._1; + var $new = _p16._2; + return A2( + _elm_lang$core$Task$andThen, + function (_p17) { + return A3(_elm_lang$http$Http_Progress$spawnRequests, router, $new, ongoing); + }, + _elm_lang$core$Task$sequence(dead)); + }); +var _elm_lang$http$Http_Progress$init = _elm_lang$core$Task$succeed(_elm_lang$core$Dict$empty); +var _elm_lang$http$Http_Progress$map = F2( + function (func, _p18) { + var _p19 = _p18; + return { + request: A2(_elm_lang$http$Http_Internal$map, func, _p19.request), + toProgress: function (_p20) { + return func( + _p19.toProgress(_p20)); + }, + toError: function (_p21) { + return func( + _p19.toError(_p21)); + } + }; + }); +var _elm_lang$http$Http_Progress$subscription = _elm_lang$core$Native_Platform.leaf('Http.Progress'); +var _elm_lang$http$Http_Progress$TrackedRequest = F3( + function (a, b, c) { + return {request: a, toProgress: b, toError: c}; + }); +var _elm_lang$http$Http_Progress$Done = function (a) { + return {ctor: 'Done', _0: a}; +}; +var _elm_lang$http$Http_Progress$Fail = function (a) { + return {ctor: 'Fail', _0: a}; +}; +var _elm_lang$http$Http_Progress$Some = function (a) { + return {ctor: 'Some', _0: a}; +}; +var _elm_lang$http$Http_Progress$None = {ctor: 'None'}; +var _elm_lang$http$Http_Progress$Track = F2( + function (a, b) { + return {ctor: 'Track', _0: a, _1: b}; + }); +var _elm_lang$http$Http_Progress$track = F3( + function (id, toMessage, _p22) { + var _p23 = _p22; + return _elm_lang$http$Http_Progress$subscription( + A2( + _elm_lang$http$Http_Progress$Track, + id, + { + request: A2( + _elm_lang$http$Http_Internal$map, + function (_p24) { + return toMessage( + _elm_lang$http$Http_Progress$Done(_p24)); + }, + _p23._0), + toProgress: function (_p25) { + return toMessage( + _elm_lang$http$Http_Progress$Some(_p25)); + }, + toError: function (_p26) { + return toMessage( + _elm_lang$http$Http_Progress$Fail(_p26)); + } + })); + }); +var _elm_lang$http$Http_Progress$subMap = F2( + function (func, _p27) { + var _p28 = _p27; + return A2( + _elm_lang$http$Http_Progress$Track, + _p28._0, + A2(_elm_lang$http$Http_Progress$map, func, _p28._1)); + }); +_elm_lang$core$Native_Platform.effectManagers['Http.Progress'] = {pkg: 'elm-lang/http', init: _elm_lang$http$Http_Progress$init, onEffects: _elm_lang$http$Http_Progress$onEffects, onSelfMsg: _elm_lang$http$Http_Progress$onSelfMsg, tag: 'sub', subMap: _elm_lang$http$Http_Progress$subMap}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http.elmi new file mode 100644 index 0000000000000000000000000000000000000000..422f5ea8db7256947c7b8b9a86d8960eb6e951f6 GIT binary patch literal 10344 zcmeHNUvryA5C;h%*^^ABGkxiY=oiRiVt3L^oAJa+-w)|x(;%S&YU*!a#O?3cTR_GH zCAMR~h}%2%|L!fj_B`kBCtCURyU@w{*FXr$z1|i#uhP{GAdA2Abi)Csc}0nXp09UF5pPvi za3~$TD8WGXO#iplOTp`@0lqEi;M~vr+?V1#N-1l1Lse@dBW;Gac>VQUC^L z@e<_0c<`onx5e+9LT4KVj_ny{tnjQ-J~7dH;=D4LU^Dn5wr&W1W`C-i2!;l#@SQ5+ ze*xv};kCs@qKZ#xwiZlC`1JJ}S_AUNk;`2q7!6BXm;NoF!QQ_bu+pFeL!?e#zO+u{ zD{l(Io+Cdb@zt#d2tRiOi!-DwFay3rxddmpMy(r5$s!gZ9+B|_I%R*`PSKgUNi_L% z0=f;}mT3m<;S6_B{ydQ)%QaCA^D212AWjAQbb*C8ExjCEu63TPt9lO_rTytHOYD2t z>z0URZYvQBFDFN^P=7Mt!!sXJyY!B6oWr>r#z9$!x@6fKAzZ#ym?Nxwb)2B7@waEY zdLJ3&@#Z;_@YGx~RhiUq9SIohtGoi4q`JDi9_+1E ztxD)Tzn4b9jC0Y8%8sLD1vXyAl`q$D30A`Q(;*NAot5O=)RicqeH&@fVBJv>PfS~c z%05N@0q)slZnvcfN&27YQ7~aK{r&QX=s>KH&xnT3=U&0Q4EO)trr7 z{fMhiqmEWJlwTWAQ=ekn{m^k&je;A9{YMgxRmY^^%l#CH*S={oLr;U^&D!HQ*-TQi z~B$cRF7w4z4A7iMJ9FDjuM=iAs>_}%Jg>jv)!CZvFXJ(u?c)H3_69F3rx z+uE%)CtrMti|f~!Ug=E{t0cDw%8MdRhUY>VrNq~fd{I(^!fj5VG2z|J2Zz(I zWX~pJN3itLnoz=R`KIW>Ee|I=Me;z SBpQ+)%zQ|2`2B$so%cU>v|q9S literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http.elmo new file mode 100644 index 0000000..8c0c558 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/Http.elmo @@ -0,0 +1,97 @@ +var _elm_lang$http$Http$decodeUri = _elm_lang$http$Native_Http.decodeUri; +var _elm_lang$http$Http$encodeUri = _elm_lang$http$Native_Http.encodeUri; +var _elm_lang$http$Http$expectStringResponse = _elm_lang$http$Native_Http.expectStringResponse; +var _elm_lang$http$Http$expectJson = function (decoder) { + return _elm_lang$http$Http$expectStringResponse( + function (response) { + return A2(_elm_lang$core$Json_Decode$decodeString, decoder, response.body); + }); +}; +var _elm_lang$http$Http$expectString = _elm_lang$http$Http$expectStringResponse( + function (response) { + return _elm_lang$core$Result$Ok(response.body); + }); +var _elm_lang$http$Http$multipartBody = _elm_lang$http$Native_Http.multipart; +var _elm_lang$http$Http$stringBody = _elm_lang$http$Http_Internal$StringBody; +var _elm_lang$http$Http$jsonBody = function (value) { + return A2( + _elm_lang$http$Http_Internal$StringBody, + 'application/json', + A2(_elm_lang$core$Json_Encode$encode, 0, value)); +}; +var _elm_lang$http$Http$emptyBody = _elm_lang$http$Http_Internal$EmptyBody; +var _elm_lang$http$Http$header = _elm_lang$http$Http_Internal$Header; +var _elm_lang$http$Http$request = _elm_lang$http$Http_Internal$Request; +var _elm_lang$http$Http$post = F3( + function (url, body, decoder) { + return _elm_lang$http$Http$request( + { + method: 'POST', + headers: _elm_lang$core$Native_List.fromArray( + []), + url: url, + body: body, + expect: _elm_lang$http$Http$expectJson(decoder), + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false + }); + }); +var _elm_lang$http$Http$get = F2( + function (url, decoder) { + return _elm_lang$http$Http$request( + { + method: 'GET', + headers: _elm_lang$core$Native_List.fromArray( + []), + url: url, + body: _elm_lang$http$Http$emptyBody, + expect: _elm_lang$http$Http$expectJson(decoder), + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false + }); + }); +var _elm_lang$http$Http$getString = function (url) { + return _elm_lang$http$Http$request( + { + method: 'GET', + headers: _elm_lang$core$Native_List.fromArray( + []), + url: url, + body: _elm_lang$http$Http$emptyBody, + expect: _elm_lang$http$Http$expectString, + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false + }); +}; +var _elm_lang$http$Http$toTask = function (_p0) { + var _p1 = _p0; + return A2(_elm_lang$http$Native_Http.toTask, _p1._0, _elm_lang$core$Maybe$Nothing); +}; +var _elm_lang$http$Http$send = F2( + function (resultToMessage, request) { + return A2( + _elm_lang$core$Task$attempt, + resultToMessage, + _elm_lang$http$Http$toTask(request)); + }); +var _elm_lang$http$Http$Response = F4( + function (a, b, c, d) { + return {url: a, status: b, headers: c, body: d}; + }); +var _elm_lang$http$Http$BadPayload = F2( + function (a, b) { + return {ctor: 'BadPayload', _0: a, _1: b}; + }); +var _elm_lang$http$Http$BadStatus = function (a) { + return {ctor: 'BadStatus', _0: a}; +}; +var _elm_lang$http$Http$NetworkError = {ctor: 'NetworkError'}; +var _elm_lang$http$Http$Timeout = {ctor: 'Timeout'}; +var _elm_lang$http$Http$BadUrl = function (a) { + return {ctor: 'BadUrl', _0: a}; +}; +var _elm_lang$http$Http$StringPart = F2( + function (a, b) { + return {ctor: 'StringPart', _0: a, _1: b}; + }); +var _elm_lang$http$Http$stringPart = _elm_lang$http$Http$StringPart; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/http/1.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..7b3f9dc87bc25b895770650d06501f2b5497984c GIT binary patch literal 4099 zcmeHKT~ER=6rIvd;)4(V4=Khc6Q2|lHEM|R2TCb885>zU6aT%;^@!^np|-vlcqv`i zlY7rS_hUiu`Ri0m&=twzBw^`H@5zf&OZ|UOujYd1k^-8R znDn&Q@Aaw7IW4dCR)-q*Hzpjn-Q`&>^jT=yt@kiLx@0ou(gRXB5aR+2Hr%l=iQLCh z`7r2#y^q0zi$T$okVWFdr0y_bYMSM(QQv~5eNbayb*>f@96@w?Ph4Q1i?IVNbVdd- zZ)I?cbc5I5)2(}(Dv_rwaj@?T_fBT1#)$@kXA>9Y{D^v;I--KhaHFs-$c!GDir?U9 zjar`yauX)J_LqfZ#N^yTGq8w^;swZS)EA2|)QC4UeNhI&qNPyWckC^P9{AbymLLc< zkLCgm`BU{j>n#@fpF literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/Lazy.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/Lazy.elmi new file mode 100644 index 0000000000000000000000000000000000000000..de039b60d357c3380a26872ce838920267e2f973 GIT binary patch literal 3453 zcmd^CO;5ux3{BVW132+RkPsi29f9LO2zEzqo57^CRCGlezn)CZbJ9wz7fUeFOYP*v zv7cQhRjTuxIxTYVnKs3lq4L$~iJ`BplaJk7jaTmuh{0i`KvyFR;4zU)#S%;dj8af_*RrDdou z%aA<^nT(JjKbrA;E*{$MtbqBy+Eg=X7jf+F3e;Xc5P$Ro{T`4rREzU=5Sb8nY|40vdSm8xpBK_XLOM*EiLk BRf7Nk literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/Lazy.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/Lazy.elmo new file mode 100644 index 0000000..0f9c52a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/Lazy.elmo @@ -0,0 +1,92 @@ +var _elm_lang$lazy$Lazy$force = function (_p0) { + var _p1 = _p0; + return _p1._0( + {ctor: '_Tuple0'}); +}; +var _elm_lang$lazy$Lazy$Lazy = function (a) { + return {ctor: 'Lazy', _0: a}; +}; +var _elm_lang$lazy$Lazy$lazy = function (thunk) { + return _elm_lang$lazy$Lazy$Lazy( + _elm_lang$lazy$Native_Lazy.memoize(thunk)); +}; +var _elm_lang$lazy$Lazy$map = F2( + function (f, a) { + return _elm_lang$lazy$Lazy$lazy( + function (_p2) { + var _p3 = _p2; + return f( + _elm_lang$lazy$Lazy$force(a)); + }); + }); +var _elm_lang$lazy$Lazy$map2 = F3( + function (f, a, b) { + return _elm_lang$lazy$Lazy$lazy( + function (_p4) { + var _p5 = _p4; + return A2( + f, + _elm_lang$lazy$Lazy$force(a), + _elm_lang$lazy$Lazy$force(b)); + }); + }); +var _elm_lang$lazy$Lazy$map3 = F4( + function (f, a, b, c) { + return _elm_lang$lazy$Lazy$lazy( + function (_p6) { + var _p7 = _p6; + return A3( + f, + _elm_lang$lazy$Lazy$force(a), + _elm_lang$lazy$Lazy$force(b), + _elm_lang$lazy$Lazy$force(c)); + }); + }); +var _elm_lang$lazy$Lazy$map4 = F5( + function (f, a, b, c, d) { + return _elm_lang$lazy$Lazy$lazy( + function (_p8) { + var _p9 = _p8; + return A4( + f, + _elm_lang$lazy$Lazy$force(a), + _elm_lang$lazy$Lazy$force(b), + _elm_lang$lazy$Lazy$force(c), + _elm_lang$lazy$Lazy$force(d)); + }); + }); +var _elm_lang$lazy$Lazy$map5 = F6( + function (f, a, b, c, d, e) { + return _elm_lang$lazy$Lazy$lazy( + function (_p10) { + var _p11 = _p10; + return A5( + f, + _elm_lang$lazy$Lazy$force(a), + _elm_lang$lazy$Lazy$force(b), + _elm_lang$lazy$Lazy$force(c), + _elm_lang$lazy$Lazy$force(d), + _elm_lang$lazy$Lazy$force(e)); + }); + }); +var _elm_lang$lazy$Lazy$apply = F2( + function (f, x) { + return _elm_lang$lazy$Lazy$lazy( + function (_p12) { + var _p13 = _p12; + return A2( + _elm_lang$lazy$Lazy$force, + f, + _elm_lang$lazy$Lazy$force(x)); + }); + }); +var _elm_lang$lazy$Lazy$andThen = F2( + function (callback, a) { + return _elm_lang$lazy$Lazy$lazy( + function (_p14) { + var _p15 = _p14; + return _elm_lang$lazy$Lazy$force( + callback( + _elm_lang$lazy$Lazy$force(a))); + }); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/lazy/2.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..fe4e0c4c502c9e4a2b8f8e8fb9cec60bed07b5b1 GIT binary patch literal 1112 zcmb`G(GG$j6o#$T*~28RuDY!*t+jdrBy<*L6KJ!iFO##Hj;0AWhch_ee$L^ytoIt# z!SX1}W(;2wmD>zIO0^%W*bGo>ho8HPio=DBV|2shf)mOSpi#v{b3gC{#0!F|GXHg` zxc^9)>S{?|P<7@sb*miYyDQ97!VQp|4UHspu=SiClI$?$!i1nLE+go}5JB#Na>-0c z^7agiI4`tQ@6aarkWJQPot*}BO^ZFsNQdoU6TrGVEYdqnfrU$UP6Dusan literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/navigation/2.0.1/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/navigation/2.0.1/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..0a0f64053f8977ac131159e86c03b43893e3332b GIT binary patch literal 1575 zcmb`H;ZB1v5XVtEM)tusk*Y7SL@_Z2mqmSnQVQYt{pDOM3hqQ*ZOk3(0~6XV&*=x_J5~swn1+sg zdJ|nm*AyB~M?|y_)S2d6yRZ-lSB=nX3#`XbEGxKWP;ziUTErslu)k(e|FJ}p5?U9A zp4eB4eK^HX@GPK{E-Zyx$=X~swzHqoCcLO7%fG9#6S`)_zI3St>t_lJ!RuryQvG-c z4HNa5h+aqwmAthTuHkkaItZpA4`b|{6GlFHgkcZ_vEVAR-J9uy1KGi5KW2L5{T(B7 od}IB~ZKJpV7r!rgWw6r?M!adweew4*X6T`t$D{P!R{jLL-}=VL?*IS* literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmi new file mode 100644 index 0000000000000000000000000000000000000000..1384884e0fb44f908d042df60df9a6f64f5e5bb6 GIT binary patch literal 7363 zcmeHMPj8zr6n6+D>8f?waUY_GZMPoVOq!;xt=6eKP6nI?)xii%wCvLlf`5h(2$>YT zL~1Vad)V*)v;Ce4+4#Lx&_Ml97++j+8a^rbd>OfP$_zb|% z50)6)Nkl^c1B#I~e~;lLibcd?xdP&hN*M=kDm6jJ<1|U|-3ojR?Rm^*0GvdwxL#uk z&Gxkje+F`X7s)_`n#_gIW;Erph8~OXh6mm=s16r2!r12Yj~3I(fe-k!hCTv1duA)< z-)1(k6w1y4d?vt7?rXXecw$@^YZE?Kq%eJSO_RWbZooQI=BDr^c-mhQZJN=Pd8J&9 zGd_it86a$b4HEbsIOiK(xlj?LMz>T3OJH9;7U4A2(S*g5drsv{#E3Giuj7X|3pl@Z z%0uebt@E8FnWq&N5o}#uX>(_hIRrtnp&cX~(9Q{p{@T?;3k&ziDRADl&-gRrS#rR! z)hHT(fzB!&GoVN8YazIfwgPmp?vR3M*08*-1`y>UirJEda#|!E&`QE$@|#48D9;G` zltqmQ8z&K+GyRxYlZPfSmo{^IteBUmB_{h3q$T={GE-iuoDn)oMi1GsksV!iL_hL% z$B8<%jzyf>d3WmD!1|J5H2imY+^8T&l!y5}&ZzD$PS`&8i(Bxq>@)fG{8(fu@8Me_ zoj};CvyO~^{YWFuP-|Fbtb0VejH){1Ia3++3sru}TXPLwY17*FM2rp+mbEvr#zjjjR=g^=rG7$i*M+o@L3b3P zVBSi?_>igBElRBu3TqOS&Zk=xwp;Yn!>89QcasQq^WFuH^hTz2}ZHQ#J^u!pU=&48V%6gX;OKy za(r$+_k$4Z_ny8wbdFS(UuAN;rtir>Xt3>BOp;Nq7`OY4`$@Oeg5hw%rn~gM0 z=t%8lR!XZNYTU%Bfx5(Pc&B!{u=LfZb2`&SQSR)g)L2~{0KHd*N%hw0lK?tb#>lne z(02=+E4xXzqLv?XlOBQE35`A!>?E;B`t!Ch*8 zLh=5`bc+iyA`IARcq2`^0!Kgxw`y6!O91x2RQ3qS2XlE?f;kXJUo&Zc=mI{)D?@m1 zmcxv#D2s9#h^%~O$_$Di#Jbnl0`faj^uSOst)DRdh(J=AXFSv4!WNZtyWn?3V1ssi z?_&Pehdd9$A&Y__6r%{_Iq(oHQN*y&t%YoSVbdT-;R-=+^yvja6qT5nU4llD!|dEF zL@j|IMHLsyQCKr;)+&2j<~MxaW(Uf9gu>DMynz0V*4ZFJWvIUrH4!Zf=RhWjN{)S- z<8mpBwV6x1+VD4!jEmJ{13r=IMWJ%NKUEd+Y}fO?c(v+@R*jN+yg>z1kq@DNS6dsC zqu1#*H6L>N%+&NFwull{uAoO@%{t-~n*xP#6p0ZVAA3x&487LJQ|lx3IPq8+=%a6{ z<*lvnqpx=)uPQ`)`AZkZ&ZJRsvV^?f*5IMt-`q!>$S7&TVj0^kUx45sSexx*?y`eB zKPNainV=Bh8EX^t^#$i%$-Kv y+=m=}=Or_W4N%pbRQpSZ9x0FvwLKYEbh5vAaL4}YAs}kPGwTEVh4X)pO7R=fgf~Y3 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Report.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Report.elmo new file mode 100644 index 0000000..5552d94 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/VirtualDom-Report.elmo @@ -0,0 +1,105 @@ +var _elm_lang$virtual_dom$VirtualDom_Report$some = function (list) { + return _elm_lang$core$Basics$not( + _elm_lang$core$List$isEmpty(list)); +}; +var _elm_lang$virtual_dom$VirtualDom_Report$TagChanges = F4( + function (a, b, c, d) { + return {removed: a, changed: b, added: c, argsMatch: d}; + }); +var _elm_lang$virtual_dom$VirtualDom_Report$emptyTagChanges = function (argsMatch) { + return A4( + _elm_lang$virtual_dom$VirtualDom_Report$TagChanges, + _elm_lang$core$Native_List.fromArray( + []), + _elm_lang$core$Native_List.fromArray( + []), + _elm_lang$core$Native_List.fromArray( + []), + argsMatch); +}; +var _elm_lang$virtual_dom$VirtualDom_Report$hasTagChanges = function (tagChanges) { + return _elm_lang$core$Native_Utils.eq( + tagChanges, + A4( + _elm_lang$virtual_dom$VirtualDom_Report$TagChanges, + _elm_lang$core$Native_List.fromArray( + []), + _elm_lang$core$Native_List.fromArray( + []), + _elm_lang$core$Native_List.fromArray( + []), + true)); +}; +var _elm_lang$virtual_dom$VirtualDom_Report$SomethingChanged = function (a) { + return {ctor: 'SomethingChanged', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Report$MessageChanged = F2( + function (a, b) { + return {ctor: 'MessageChanged', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Report$VersionChanged = F2( + function (a, b) { + return {ctor: 'VersionChanged', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Report$CorruptHistory = {ctor: 'CorruptHistory'}; +var _elm_lang$virtual_dom$VirtualDom_Report$UnionChange = F2( + function (a, b) { + return {ctor: 'UnionChange', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Report$AliasChange = function (a) { + return {ctor: 'AliasChange', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Report$Fine = {ctor: 'Fine'}; +var _elm_lang$virtual_dom$VirtualDom_Report$Risky = {ctor: 'Risky'}; +var _elm_lang$virtual_dom$VirtualDom_Report$Impossible = {ctor: 'Impossible'}; +var _elm_lang$virtual_dom$VirtualDom_Report$worstCase = F2( + function (status, statusList) { + worstCase: + while (true) { + var _p0 = statusList; + if (_p0.ctor === '[]') { + return status; + } else { + switch (_p0._0.ctor) { + case 'Impossible': + return _elm_lang$virtual_dom$VirtualDom_Report$Impossible; + case 'Risky': + var _v1 = _elm_lang$virtual_dom$VirtualDom_Report$Risky, + _v2 = _p0._1; + status = _v1; + statusList = _v2; + continue worstCase; + default: + var _v3 = status, + _v4 = _p0._1; + status = _v3; + statusList = _v4; + continue worstCase; + } + } + } + }); +var _elm_lang$virtual_dom$VirtualDom_Report$evaluateChange = function (change) { + var _p1 = change; + if (_p1.ctor === 'AliasChange') { + return _elm_lang$virtual_dom$VirtualDom_Report$Impossible; + } else { + return (_elm_lang$core$Basics$not(_p1._1.argsMatch) || (_elm_lang$virtual_dom$VirtualDom_Report$some(_p1._1.changed) || _elm_lang$virtual_dom$VirtualDom_Report$some(_p1._1.removed))) ? _elm_lang$virtual_dom$VirtualDom_Report$Impossible : (_elm_lang$virtual_dom$VirtualDom_Report$some(_p1._1.added) ? _elm_lang$virtual_dom$VirtualDom_Report$Risky : _elm_lang$virtual_dom$VirtualDom_Report$Fine); + } +}; +var _elm_lang$virtual_dom$VirtualDom_Report$evaluate = function (report) { + var _p2 = report; + switch (_p2.ctor) { + case 'CorruptHistory': + return _elm_lang$virtual_dom$VirtualDom_Report$Impossible; + case 'VersionChanged': + return _elm_lang$virtual_dom$VirtualDom_Report$Impossible; + case 'MessageChanged': + return _elm_lang$virtual_dom$VirtualDom_Report$Impossible; + default: + return A2( + _elm_lang$virtual_dom$VirtualDom_Report$worstCase, + _elm_lang$virtual_dom$VirtualDom_Report$Fine, + A2(_elm_lang$core$List$map, _elm_lang$virtual_dom$VirtualDom_Report$evaluateChange, _p2._0)); + } +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/elm-lang/virtual-dom/2.0.2/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..f38bf86dfd87709663906cb40640751158c43058 GIT binary patch literal 10726 zcmeI2+j7$|5QYsnhoQg?&(WCa6HrK@FfHu>!@XiF9aAUH_>iG*k7H|1B_U%;Yt!i{ zHyS(1N?PrH`gQQU`ZI3|Z%&iVaYD8??D=RPXGKYp<0##*S5H|91w21tFP{Hs{<3WU z@%CUeFUs{g*pcv-+|WFLdV+fu1Sg9(i<2PF!r+gMMfFQ&*`jer3KM>qW|Vz5VWn6= z$ENQ{9)~%CrOA@6N^r5*E1f3!7ja%-H0YAtt-ud94Vr$Xd6{4|X?~rMVx4BH!SCZH z2u;z}v-g|G!fQ&i-^vw&S^smMZke6wl7?xd8X1l3gf>sVkRslLK{;2&!8fQvHrg5Q z_%(d6;Z0EICJuF8TSSASjs}?>b?QhHlUIk4{i$PY^=#Y0vOZQJC;aauzg6Ux0Zw=( zV#A8JF2hkAG=mPvMrUWgc4Ql+cux9D9p^OJ(M%;q;CXRdvr7(E@XIEC+d|6B#Rxweip5!*U( z<}c$=m8N~{fSB(;XB#9xKW|~rivMdm;ifD*e6i^d2VZW3g7KR#K=Do71_g7B4j-g_ zkFhr>bQ;UStaGVg4Ko=&BFzn|kd4lG@oGt%MhN53<`oMjvDVN}Oo^6Gexn;NhoE(^mkHtP8OMmz1vY&raKz-k`a0Cz|62ZyM(4?%=U zoO&cj@ei0bvnu(AKBp1&mbkD)Sx=9EO}>hcR;sZ%jlqGY>V8(AumeK51-lwgt&iO4 zMm?>yxIScn*?mAT(Q%G&s-IuY^(A&m=O@D1GXkmj9?Ejh;64)T=Dll>R(<^q@Ni#k literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmi new file mode 100644 index 0000000000000000000000000000000000000000..3fe662db732e14278b07014a8a0413da623e7aee GIT binary patch literal 1071 zcmcgq%MOAt5G+=V5-'] = _elm_lang$core$Basics$flip(_krisajenkins$remotedata$RemoteData$andMap); +var _krisajenkins$remotedata$RemoteData_Infix_ops = _krisajenkins$remotedata$RemoteData_Infix_ops || {}; +_krisajenkins$remotedata$RemoteData_Infix_ops['<$>'] = _krisajenkins$remotedata$RemoteData$map; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData.elmi new file mode 100644 index 0000000000000000000000000000000000000000..23160e3f8853ad42bdb464b6752e776e90fa09ba GIT binary patch literal 6270 zcmd5=O>@&Q5Ve~Rr-2K@4F7@)$KD9#;osvldb^U7f;m)e zF19vn?c292X|+-0{a)BnY@g4!ZK1^vS#OJ4TiLRel`=9HMp(&9`;3+o!@L^jq$Tzh1s0TwQ#LJXXi5Q z;4FmGPsV^%l3f%UVT5ev#uCEC*HW0ZYAb6Weh%dm4(h!s*IhdF!pkSvoZbk%wVJPB z_v|df|FMWBFcM8&Pgvuh3U*$i-Tf5r<5mc?4?}+_Ie~I4=nbSGAtt00);=ZZV*#L? zCu&3(C@CAXX)*72vfbtr#=e^ifh_W3V&}6!wu$Wwi;&I@`YU+kvp}(Cx*x&CJ>NKV zLx(#JL@_U?P#MjqP4fMwYfAaXW;Si*F~=QQZ!4i0a(*Gp>UAloSea&uN*U<5N2B|W z<8UI|7P_$j2(=|y8gtag7#yDSo>7{W8BfPe54^+aoif6CbufoL65X12oMWJ5?o~Ga zh?C+dZ(&_@s%G{u5CmjFG+ilG+H7@-_NM{Jy)!%wL_I~g9y|>|`+FO5->YrI0L<8S zXoFO~)3uSY&|9xW?~FAMbRe?DKs85B&Vn81mQDXTyI&w8*kYi{;K-?e*FHc~06XC6 ztu$X6Q>Z#P6C+P-M9u3Gc!L-!F@oNAlYYup%a77<`aAXl9W(Y|iKvA{Km#oY&H`bv zQ0FYnZpC@;us^2!^8)M*4x>$dGM8TB{@%Kn8TcC@ER>N2BS8ptt>Yc9&#C*IW>+6F z^BKy>U<2>}bGvucYx5HGyCxk559zM6xL__8HUbbFX~aPTeO>wnTQjx85Ka3;n{Fuf u`?tJ2V1T+?`wv-R2o^16YXCmP54%}WtPWP;=1BY4X(`X{n&*rXy!-(^;fY!R literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData.elmo new file mode 100644 index 0000000..798af99 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/RemoteData.elmo @@ -0,0 +1,232 @@ +var _krisajenkins$remotedata$RemoteData$isNotAsked = function (data) { + var _p0 = data; + if (_p0.ctor === 'NotAsked') { + return true; + } else { + return false; + } +}; +var _krisajenkins$remotedata$RemoteData$isLoading = function (data) { + var _p1 = data; + if (_p1.ctor === 'Loading') { + return true; + } else { + return false; + } +}; +var _krisajenkins$remotedata$RemoteData$isFailure = function (data) { + var _p2 = data; + if (_p2.ctor === 'Failure') { + return true; + } else { + return false; + } +}; +var _krisajenkins$remotedata$RemoteData$isSuccess = function (data) { + var _p3 = data; + if (_p3.ctor === 'Success') { + return true; + } else { + return false; + } +}; +var _krisajenkins$remotedata$RemoteData$withDefault = F2( + function ($default, data) { + var _p4 = data; + if (_p4.ctor === 'Success') { + return _p4._0; + } else { + return $default; + } + }); +var _krisajenkins$remotedata$RemoteData$Success = function (a) { + return {ctor: 'Success', _0: a}; +}; +var _krisajenkins$remotedata$RemoteData$succeed = _krisajenkins$remotedata$RemoteData$Success; +var _krisajenkins$remotedata$RemoteData$prism = { + reverseGet: _krisajenkins$remotedata$RemoteData$Success, + getOption: function (data) { + var _p5 = data; + if (_p5.ctor === 'Success') { + return _elm_lang$core$Maybe$Just(_p5._0); + } else { + return _elm_lang$core$Maybe$Nothing; + } + } +}; +var _krisajenkins$remotedata$RemoteData$Failure = function (a) { + return {ctor: 'Failure', _0: a}; +}; +var _krisajenkins$remotedata$RemoteData$fromResult = function (result) { + var _p6 = result; + if (_p6.ctor === 'Err') { + return _krisajenkins$remotedata$RemoteData$Failure(_p6._0); + } else { + return _krisajenkins$remotedata$RemoteData$Success(_p6._0); + } +}; +var _krisajenkins$remotedata$RemoteData$asCmd = _elm_lang$core$Task$attempt(_krisajenkins$remotedata$RemoteData$fromResult); +var _krisajenkins$remotedata$RemoteData$Loading = {ctor: 'Loading'}; +var _krisajenkins$remotedata$RemoteData$NotAsked = {ctor: 'NotAsked'}; +var _krisajenkins$remotedata$RemoteData$map = F2( + function (f, data) { + var _p7 = data; + switch (_p7.ctor) { + case 'Success': + return _krisajenkins$remotedata$RemoteData$Success( + f(_p7._0)); + case 'Loading': + return _krisajenkins$remotedata$RemoteData$Loading; + case 'NotAsked': + return _krisajenkins$remotedata$RemoteData$NotAsked; + default: + return _krisajenkins$remotedata$RemoteData$Failure(_p7._0); + } + }); +var _krisajenkins$remotedata$RemoteData$toMaybe = function (_p8) { + return A2( + _krisajenkins$remotedata$RemoteData$withDefault, + _elm_lang$core$Maybe$Nothing, + A2(_krisajenkins$remotedata$RemoteData$map, _elm_lang$core$Maybe$Just, _p8)); +}; +var _krisajenkins$remotedata$RemoteData$mapError = F2( + function (f, data) { + var _p9 = data; + switch (_p9.ctor) { + case 'Success': + return _krisajenkins$remotedata$RemoteData$Success(_p9._0); + case 'Failure': + return _krisajenkins$remotedata$RemoteData$Failure( + f(_p9._0)); + case 'Loading': + return _krisajenkins$remotedata$RemoteData$Loading; + default: + return _krisajenkins$remotedata$RemoteData$NotAsked; + } + }); +var _krisajenkins$remotedata$RemoteData$mapBoth = F3( + function (successFn, errorFn, data) { + var _p10 = data; + switch (_p10.ctor) { + case 'Success': + return _krisajenkins$remotedata$RemoteData$Success( + successFn(_p10._0)); + case 'Failure': + return _krisajenkins$remotedata$RemoteData$Failure( + errorFn(_p10._0)); + case 'Loading': + return _krisajenkins$remotedata$RemoteData$Loading; + default: + return _krisajenkins$remotedata$RemoteData$NotAsked; + } + }); +var _krisajenkins$remotedata$RemoteData$andThen = F2( + function (f, data) { + var _p11 = data; + switch (_p11.ctor) { + case 'Success': + return f(_p11._0); + case 'Failure': + return _krisajenkins$remotedata$RemoteData$Failure(_p11._0); + case 'NotAsked': + return _krisajenkins$remotedata$RemoteData$NotAsked; + default: + return _krisajenkins$remotedata$RemoteData$Loading; + } + }); +var _krisajenkins$remotedata$RemoteData$andMap = F2( + function (wrappedValue, wrappedFunction) { + var _p12 = {ctor: '_Tuple2', _0: wrappedFunction, _1: wrappedValue}; + _v11_5: + do { + _v11_4: + do { + _v11_3: + do { + _v11_2: + do { + switch (_p12._0.ctor) { + case 'Success': + switch (_p12._1.ctor) { + case 'Success': + return _krisajenkins$remotedata$RemoteData$Success( + _p12._0._0(_p12._1._0)); + case 'Failure': + break _v11_2; + case 'Loading': + break _v11_4; + default: + return _krisajenkins$remotedata$RemoteData$NotAsked; + } + case 'Failure': + return _krisajenkins$remotedata$RemoteData$Failure(_p12._0._0); + case 'Loading': + switch (_p12._1.ctor) { + case 'Failure': + break _v11_2; + case 'Loading': + break _v11_3; + case 'NotAsked': + break _v11_3; + default: + break _v11_3; + } + default: + switch (_p12._1.ctor) { + case 'Failure': + break _v11_2; + case 'Loading': + break _v11_4; + case 'NotAsked': + break _v11_5; + default: + break _v11_5; + } + } + } while(false); + return _krisajenkins$remotedata$RemoteData$Failure(_p12._1._0); + } while(false); + return _krisajenkins$remotedata$RemoteData$Loading; + } while(false); + return _krisajenkins$remotedata$RemoteData$Loading; + } while(false); + return _krisajenkins$remotedata$RemoteData$NotAsked; + }); +var _krisajenkins$remotedata$RemoteData$append = F2( + function (a, b) { + return A2( + _krisajenkins$remotedata$RemoteData$andMap, + b, + A2( + _krisajenkins$remotedata$RemoteData$map, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + a)); + }); +var _krisajenkins$remotedata$RemoteData$update = F2( + function (f, remoteData) { + var _p13 = remoteData; + switch (_p13.ctor) { + case 'Success': + var _p14 = f(_p13._0); + var first = _p14._0; + var second = _p14._1; + return { + ctor: '_Tuple2', + _0: _krisajenkins$remotedata$RemoteData$Success(first), + _1: second + }; + case 'NotAsked': + return {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$NotAsked, _1: _elm_lang$core$Platform_Cmd$none}; + case 'Loading': + return {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _elm_lang$core$Platform_Cmd$none}; + default: + return { + ctor: '_Tuple2', + _0: _krisajenkins$remotedata$RemoteData$Failure(_p13._0), + _1: _elm_lang$core$Platform_Cmd$none + }; + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/krisajenkins/remotedata/4.0.1/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..fe9af79fb273deef11764216b76b649d71dbd859 GIT binary patch literal 1965 zcmeHH+it=z49%cLQ0-UNfV3|F9zbH!#P$PjNm=L(#i_LY{kG1g69^$;9_h5H0 z{lAp%YUt;998Wa5RChG-Pd*iqNsNeP_$#P@YD@bdt(~EDNO%m~-e3x7Qy!0mDV&?6 zVF?nVU}e#hUI|b50$&NwK|(ZG8*GYONE*Ht;IrEC|G!2RAMazX{;b>xrgoP0tx3+& zet5s9cYK~`djO6Hi|*TNx<2r{1Lnjoa}PIsYVdGbW%iSbEQM~@E!oXHKO$L@8Qwjw U)Wv)8?)mnl$vnocJ@uIS1`ho8?*IS* literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmi new file mode 100644 index 0000000000000000000000000000000000000000..8f9fb954c287e020fa97c6ccec1e33e3544b1acf GIT binary patch literal 14470 zcmeHOS&!Q`5T)j+x=1 zmA&iAS_9U;SR7I0aE^~d&Mafr-&fG`;P+`#{w+R>LIt-#`BEg?7aOJW7eN^(k&rmKNAvD9J;5>u&^)@YU1LvD&<; z2*d}w&?Fk+vZj4hGEQ%YF8P+|&5Ex7%|%GUdZMxq;-9k80xsJx zL>kSYbqO!8EPY^C_6(j-rOPW`#39ay)WvHNls8US|4pT5py6zOEia%gTN$`t{Tvgg zH2gb$8=wl2xPG5-^=Brx&J-?v{%VT~M=m;DK9+&Q#`1$GDlNLyR-q2nuayS0Z{c_L z@+Ct~JDXI zpmGi3W?lPv!c(*fzxH|PiG!H-;hT=&&9KX^VNjyxFzdIe5;ElpGGz?A6pdRP%;M5= zE9B6U$$T)zoyll6G}BcLV?q`^W^?!=Z8RKC6H9C0H6Y)K0e1>L$W4dkVw^A+8?oe5nN%U%z|H1?!tKs#F{El%<#4w+kN9-QS-oV6Gg*0X>cmZ`xivio3&)EElvI$MQ!q19UGCl)bNO>wYLak^TmC z*J(d*)nvvBCt~m|W7B?)e)Ld>f$z>`KZoVwnU~-Q_Eim^gW`v?-P5d~tnYxU=I~B0 zPlBcPynk9eUH+BDslEf~I~*RqiMY!}^=x@{2Ag&ma~GISjE!;Z2$vo^@NSKFIx*@y zrsJL%9|<4A=|-uwbmPbsdU`+a9ES|QM7-YxY)-g~$73&q&0&f_K@e<;K<%6ZS{G}N zyrW+!X&*RdOxtw`%p=kIPa>d&+}CL_)n@8Wi>D@Gcv>vA7u(lG$aBG5*4#G0(G$1~ zkEL-=cql~mjJ=W~PwM1o=lxznr$fu`bJ?aEf3LHk%^m*_X;d9`_RlbmmlNC0$+by| zG6UK=+wC20ga$zZrqD&DKm+0jA$S**c$~2xz@=paiB~)Syi2QHFB`s zT!E3G))S7hz<^@i&iah#3RPh$X=SI>v5Tp#0b@6JHkvK~kboKo)CA_f#t|pY>iE>U zu3cynum_9zsHu{1q(izgylE8U=3pCcg76VhWYl$=r7#B@pmS;hksis-oyo{@MhE_I zWY<6#GwZPkRWM`RA&kuAWBIRDk*4p2t+cr&KQuBt7c{Vo_4#tc`{Kk_~ zoQnv1OB=QIO-9-55Lo@t*zOt;+!PeQ;@h%l5UAE`YuMo-Sg);?H*WE+#d!R zu!mM^W*N-qZjIWRi1Mz|?a5&ebXc^q9;l>18z11er#l(;peKyIRa2a~RnWWBlq2O> zSbun9Tx%din%5d`HXMr|Tj}qpLLIRBdpPdR+k>N5f7dnsXw%~7BxoAH~m8fqDY^EPhQ;`+T_)fSF@A%YW5%P1-M)Q literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo new file mode 100644 index 0000000..2f1187a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo @@ -0,0 +1,192 @@ +var _lukewestby$elm_http_builder$HttpBuilder$replace = F2( + function (old, $new) { + return function (_p0) { + return A2( + _elm_lang$core$String$join, + $new, + A2(_elm_lang$core$String$split, old, _p0)); + }; + }); +var _lukewestby$elm_http_builder$HttpBuilder$queryEscape = function (_p1) { + return A3( + _lukewestby$elm_http_builder$HttpBuilder$replace, + '%20', + '+', + _elm_lang$http$Http$encodeUri(_p1)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$queryPair = function (_p2) { + var _p3 = _p2; + return A2( + _elm_lang$core$Basics_ops['++'], + _lukewestby$elm_http_builder$HttpBuilder$queryEscape(_p3._0), + A2( + _elm_lang$core$Basics_ops['++'], + '=', + _lukewestby$elm_http_builder$HttpBuilder$queryEscape(_p3._1))); +}; +var _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded = function (args) { + return A2( + _elm_lang$core$String$join, + '&', + A2(_elm_lang$core$List$map, _lukewestby$elm_http_builder$HttpBuilder$queryPair, args)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$toRequest = function (_p4) { + var _p5 = _p4; + var _p6 = _p5._0; + var encodedParams = _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded(_p6.queryParams); + var fullUrl = _elm_lang$core$String$isEmpty(encodedParams) ? _p6.url : A2( + _elm_lang$core$Basics_ops['++'], + _p6.url, + A2(_elm_lang$core$Basics_ops['++'], '?', encodedParams)); + return _elm_lang$http$Http$request( + {method: _p6.method, url: fullUrl, headers: _p6.headers, body: _p6.body, expect: _p6.expect, timeout: _p6.timeout, withCredentials: _p6.withCredentials}); +}; +var _lukewestby$elm_http_builder$HttpBuilder$send = F2( + function (tagger, builder) { + return A2( + _elm_lang$http$Http$send, + tagger, + _lukewestby$elm_http_builder$HttpBuilder$toRequest(builder)); + }); +var _lukewestby$elm_http_builder$HttpBuilder$RequestDetails = F8( + function (a, b, c, d, e, f, g, h) { + return {method: a, headers: b, url: c, body: d, expect: e, timeout: f, withCredentials: g, queryParams: h}; + }); +var _lukewestby$elm_http_builder$HttpBuilder$RequestBuilder = function (a) { + return {ctor: 'RequestBuilder', _0: a}; +}; +var _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl = F2( + function (method, url) { + return _lukewestby$elm_http_builder$HttpBuilder$RequestBuilder( + { + method: method, + url: url, + headers: _elm_lang$core$Native_List.fromArray( + []), + body: _elm_lang$http$Http$emptyBody, + expect: _elm_lang$http$Http$expectStringResponse( + function (_p7) { + return _elm_lang$core$Result$Ok( + {ctor: '_Tuple0'}); + }), + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false, + queryParams: _elm_lang$core$Native_List.fromArray( + []) + }); + }); +var _lukewestby$elm_http_builder$HttpBuilder$get = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('GET'); +var _lukewestby$elm_http_builder$HttpBuilder$post = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('POST'); +var _lukewestby$elm_http_builder$HttpBuilder$put = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('PUT'); +var _lukewestby$elm_http_builder$HttpBuilder$patch = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('PATCH'); +var _lukewestby$elm_http_builder$HttpBuilder$delete = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('DELETE'); +var _lukewestby$elm_http_builder$HttpBuilder$options = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('OPTIONS'); +var _lukewestby$elm_http_builder$HttpBuilder$trace = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('TRACE'); +var _lukewestby$elm_http_builder$HttpBuilder$head = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('HEAD'); +var _lukewestby$elm_http_builder$HttpBuilder$map = F2( + function (fn, _p8) { + var _p9 = _p8; + return _lukewestby$elm_http_builder$HttpBuilder$RequestBuilder( + fn(_p9._0)); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withHeader = F2( + function (key, value) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + headers: A2( + _elm_lang$core$List_ops['::'], + A2(_elm_lang$http$Http$header, key, value), + details.headers) + }); + }); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withHeaders = function (headerPairs) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + headers: A2( + _elm_lang$core$Basics_ops['++'], + A2( + _elm_lang$core$List$map, + _elm_lang$core$Basics$uncurry(_elm_lang$http$Http$header), + headerPairs), + details.headers) + }); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withBody = function (body) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + {body: body}); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withStringBody = F2( + function (contentType, value) { + return _lukewestby$elm_http_builder$HttpBuilder$withBody( + A2(_elm_lang$http$Http$stringBody, contentType, value)); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withUrlEncodedBody = function (_p10) { + return A2( + _lukewestby$elm_http_builder$HttpBuilder$withStringBody, + 'application/x-www-form-urlencoded', + _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded(_p10)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withJsonBody = function (value) { + return _lukewestby$elm_http_builder$HttpBuilder$withBody( + _elm_lang$http$Http$jsonBody(value)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withMultipartStringBody = function (partPairs) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + body: _elm_lang$http$Http$multipartBody( + A2( + _elm_lang$core$List$map, + _elm_lang$core$Basics$uncurry(_elm_lang$http$Http$stringPart), + partPairs)) + }); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withTimeout = function (timeout) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + timeout: _elm_lang$core$Maybe$Just(timeout) + }); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withCredentials = _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + {withCredentials: true}); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withExpect = function (expect) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + {expect: expect}); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withQueryParams = function (queryParams) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + queryParams: A2(_elm_lang$core$Basics_ops['++'], details.queryParams, queryParams) + }); + }); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/lukewestby/elm-http-builder/4.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..e81ceef9589464bf8b2e80cd16fd423db6b7e2dd GIT binary patch literal 1560 zcmb`H;ZB1v5XVsqS@erO$ml-!1QV0RXky%6pp-Hj3M{=gW^eD%J5&<0gqAOVdZoYn z_qaAmzMhM3Nv@4=)Q19B9x-yOOuKw{?yxMqHkGm%XQ)#l(#__yX8mW$W{0t4k`)gmv}MRx~xEA^yc~ zeHnlq`)up19y@f-zKO(k0-6Yp(pc@mcDfB|Gpam$g1*CzWrdP`6`lIn1yaYKP-q$B XK%6;R!_AEqq0BfOh2m_uWhwdzX!)_Z literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmi new file mode 100644 index 0000000000000000000000000000000000000000..173bfd0ca2177d8ff76dd7535478112a65eed83d GIT binary patch literal 641 zcma)4%MOAt5G)iBJ(&0*`~XKa@uCTVFDOt*lRiuf2mjt^x?+n#P8jX+4LZ;E%!$q+G(GZm#!|^yxCs+4?ACGw z=9OgAV65_Z>?_9UL4k>{lxA*`dR9NZBJB{R)khFn&D|_ve&`pMC4p2UMkwGUFuO2* z68u<@I*s9O{&*(IG^Cnz#^T^Y6YCS#+_K47NZ=**#|Ho>q2^mKNy9nB?;9-T4laI1 AasU7T literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo new file mode 100644 index 0000000..e7d2f61 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo @@ -0,0 +1,4 @@ +var _mgold$elm_random_pcg$Random_Pcg_Interop$fission = A2( + _elm_lang$core$Random$map, + _mgold$elm_random_pcg$Random_Pcg$initialSeed, + A2(_elm_lang$core$Random$int, 0, 4294967295)); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmi new file mode 100644 index 0000000000000000000000000000000000000000..00b474cf9144b51d62868b2f835fe840d557486f GIT binary patch literal 10553 zcmeHNOK+So5N5N$ZdEB&e?gBu<&w0j)MNUt8YxPmUMs_T6I32sVAbZ|7qGt>!!Ah< z*paI4Az_U1H*aQaJg@hAuBn;+A7s}>y3)jrctnlQMbt!*sWgg#R zWS)r)uKniv*d$I&;+09f1`#%5pYammI!S9uoG#-cuWG>}FPiCBH z{DtpjT&(ce-WeZqV+I!Xzp=AmEI2cK27}A>{1Wl-Vhl*?^2RK|s@ zwkf<8nEsWhehy~(S4jpjF)z5K-4F2i0|FlS z;YF7U^lI~S$_Sm;Fc*s-om7Z8f|?1soDg+NK}-#GV$QI7V+Zw95dxKX^ERq`)buiH zWMriIqzJnr8@@-TZ7JJugv zJx)#a5Y^q$85vCy*T#{y)UZiqgH4encWXv#hU<0UaHy`u)t(^((beOmYCB2O5K2e6+8w2F!5vRTgR#R60C!N4vuqaYWYTU$H@nZIS5w(M z8q@uiJ7u&xjli|;dd{F?XGqvQZcW^rDL|F85fk%-6-|}yOz@9d+noYe&KwJ!P3u_A z`4oA}{f@h#UR_JC&%RP`;Nx+BBrVRT>fcJ(1@4& zzdr!>Xh7NBO%2rN4B(=Zh4pQxa3V1Cs6u@@VH+BTY04O9P}a+GZZXHZXc9cqUh8k9 zOl^4To~Q^)S(mr&G~R?a$vZq8m_9ZiqW6v@BpS7g8+@YYMFvEw5lU21LNEi0QW90l%ZoY2)*e&UUUWY0LPY zRl?Ff9Q_}MK4lNtBejOpfr=hDvcnpn^w2m5is><;WX2g{>Zx_RHk~ ziZNN%-FIz$%7F)u->q)2eb)`wMR3-Y@MOj774Mkc2S{JCbFK6_=2=j!kjKM%BFz6K zdz`#AoiMtEb+0~dNr5YjYt90c*gBou(u`Ga?a5W^Buql>%>H%ht-4gqk>^ zOlR0!9Iba(KmN3mK1o4f{0>#BqnAm1&A}&Zi2Q@8Yxv*tJA{@P8Q4Y{MQ2vIT2{vI+reI&mjm*0#y#vEABRr>&>T{Z~ z-_+2Kaw-hL5y>)|PGylsbe7OmNxqmsRv-;O)0-t^2g2Tk5SeA(yIkmI1-=;e?0rEOI2|%Mmf-V#Eex!cK2gsAd=G^i)=R>Ul6H`6VUOqN9!CB7*1~t7fUR-WEz@P8RWBwR(kCZ4d2O zdFaiHNL1I`0GQ6wG>I~j=XZ=xJ@0#25jEPm3}w8%*8WQPROO2@747s(voK*9d^T$S ze~k(CA){qZc}f!MsX=2baWovkMioVz!Qk;SafYC&XDb+-j2Xwu;Plu;aNXFBxI^4I zBbXZ2y@Mix20_yrG-|5VT!bTz5J#7W7+L+jatb=fT)a2E^&^u#E#?pedM|d`NDsb(; z=Gxx_&nTw1LIz6*qK?4h;SG5B&PN3!>XV{FYMKE%)Rv9-H^K8}BPek1hthLS@#B7yKi zcs)J5_RAACz9{%V&kWv|C9j5n^O(w0jAK@w>vE?3bue#x@=J9>^AIG`E=aq~JmI=^ zd^Zm4I!-t0fOsMdPlT0$tIZi&1kK9^jT-58`C>NTjs`x^F1F->>w61MTyz8&D3Psm zKv7}ZKO`e)5HzhpqXK1pQ3_FnC~A!&kHK+qr?9^7gOpFz*-Q!zdGGCbZxz5aOJeTi z)Le;iTdWpuNTD>>7xrzqRoB4$Be)vjSKV1_e+|xmmuLg{J=1N!C%Y}@yWF`o2!h}b DiGsbI literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/Erl.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/Erl.elmo new file mode 100644 index 0000000..55b5948 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/Erl.elmo @@ -0,0 +1,449 @@ +var _sporto$erl$Erl$appendPathSegments = F2( + function (segments, url) { + var newPath = A2(_elm_lang$core$List$append, url.path, segments); + return _elm_lang$core$Native_Utils.update( + url, + {path: newPath}); + }); +var _sporto$erl$Erl$removeQuery = F2( + function (key, url) { + var updated = A2( + _elm_lang$core$List$filter, + function (_p0) { + var _p1 = _p0; + return !_elm_lang$core$Native_Utils.eq(_p1._0, key); + }, + url.query); + return _elm_lang$core$Native_Utils.update( + url, + {query: updated}); + }); +var _sporto$erl$Erl$addQuery = F3( + function (key, val, url) { + var updated = _elm_lang$core$List$reverse( + A2( + F2( + function (x, y) { + return A2(_elm_lang$core$List_ops['::'], x, y); + }), + {ctor: '_Tuple2', _0: key, _1: val}, + _elm_lang$core$List$reverse(url.query))); + return _elm_lang$core$Native_Utils.update( + url, + {query: updated}); + }); +var _sporto$erl$Erl$setQuery = F3( + function (key, val, url) { + var without = A2(_sporto$erl$Erl$removeQuery, key, url); + return A3(_sporto$erl$Erl$addQuery, key, val, without); + }); +var _sporto$erl$Erl$clearQuery = function (url) { + return _elm_lang$core$Native_Utils.update( + url, + { + query: _elm_lang$core$Native_List.fromArray( + []) + }); +}; +var _sporto$erl$Erl$new = { + protocol: '', + username: '', + password: '', + host: _elm_lang$core$Native_List.fromArray( + []), + path: _elm_lang$core$Native_List.fromArray( + []), + hasLeadingSlash: false, + hasTrailingSlash: false, + port_: 0, + hash: '', + query: _elm_lang$core$Native_List.fromArray( + []) +}; +var _sporto$erl$Erl$hashToString = function (url) { + return _elm_lang$core$String$isEmpty(url.hash) ? '' : A2(_elm_lang$core$Basics_ops['++'], '#', url.hash); +}; +var _sporto$erl$Erl$trailingSlashComponent = function (url) { + return _elm_lang$core$Native_Utils.eq(url.hasTrailingSlash, true) ? '/' : ''; +}; +var _sporto$erl$Erl$portComponent = function (url) { + var _p2 = url.port_; + switch (_p2) { + case 0: + return ''; + case 80: + return ''; + default: + return A2( + _elm_lang$core$Basics_ops['++'], + ':', + _elm_lang$core$Basics$toString(url.port_)); + } +}; +var _sporto$erl$Erl$hostComponent = function (url) { + return _elm_lang$http$Http$encodeUri( + A2(_elm_lang$core$String$join, '.', url.host)); +}; +var _sporto$erl$Erl$pathComponent = function (url) { + var leadingSlash = ((!_elm_lang$core$Native_Utils.eq( + _sporto$erl$Erl$hostComponent(url), + '')) || url.hasLeadingSlash) ? '/' : ''; + var encoded = A2(_elm_lang$core$List$map, _elm_lang$http$Http$encodeUri, url.path); + return _elm_lang$core$Native_Utils.eq( + _elm_lang$core$List$length(url.path), + 0) ? '' : A2( + _elm_lang$core$Basics_ops['++'], + leadingSlash, + A2(_elm_lang$core$String$join, '/', encoded)); +}; +var _sporto$erl$Erl$protocolComponent = function (url) { + var _p3 = url.protocol; + if (_p3 === '') { + return ''; + } else { + return A2(_elm_lang$core$Basics_ops['++'], url.protocol, '://'); + } +}; +var _sporto$erl$Erl$queryToString = function (url) { + var encodedTuples = A2( + _elm_lang$core$List$map, + function (_p4) { + var _p5 = _p4; + return { + ctor: '_Tuple2', + _0: _elm_lang$http$Http$encodeUri(_p5._0), + _1: _elm_lang$http$Http$encodeUri(_p5._1) + }; + }, + url.query); + var parts = A2( + _elm_lang$core$List$map, + function (_p6) { + var _p7 = _p6; + return A2( + _elm_lang$core$Basics_ops['++'], + _p7._0, + A2(_elm_lang$core$Basics_ops['++'], '=', _p7._1)); + }, + encodedTuples); + return _elm_lang$core$List$isEmpty(url.query) ? '' : A2( + _elm_lang$core$Basics_ops['++'], + '?', + A2(_elm_lang$core$String$join, '&', parts)); +}; +var _sporto$erl$Erl$toString = function (url) { + var hash = _sporto$erl$Erl$hashToString(url); + var query_ = _sporto$erl$Erl$queryToString(url); + var trailingSlash_ = _sporto$erl$Erl$trailingSlashComponent(url); + var path_ = _sporto$erl$Erl$pathComponent(url); + var port_ = _sporto$erl$Erl$portComponent(url); + var host_ = _sporto$erl$Erl$hostComponent(url); + var protocol_ = _sporto$erl$Erl$protocolComponent(url); + return A2( + _elm_lang$core$Basics_ops['++'], + protocol_, + A2( + _elm_lang$core$Basics_ops['++'], + host_, + A2( + _elm_lang$core$Basics_ops['++'], + port_, + A2( + _elm_lang$core$Basics_ops['++'], + path_, + A2( + _elm_lang$core$Basics_ops['++'], + trailingSlash_, + A2(_elm_lang$core$Basics_ops['++'], query_, hash)))))); +}; +var _sporto$erl$Erl$queryStringElementToTuple = function (element) { + var splitted = A2(_elm_lang$core$String$split, '=', element); + var first = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head(splitted)); + var firstDecoded = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$http$Http$decodeUri(first)); + var second = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2(_elm_lang$core$List$drop, 1, splitted))); + var secondDecoded = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$http$Http$decodeUri(second)); + return {ctor: '_Tuple2', _0: firstDecoded, _1: secondDecoded}; +}; +var _sporto$erl$Erl$parseQuery = function (queryString) { + var splitted = A2(_elm_lang$core$String$split, '&', queryString); + return _elm_lang$core$String$isEmpty(queryString) ? _elm_lang$core$Native_List.fromArray( + []) : A2(_elm_lang$core$List$map, _sporto$erl$Erl$queryStringElementToTuple, splitted); +}; +var _sporto$erl$Erl$extractQuery = function (str) { + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$String$split, + '#', + A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$drop, + 1, + A2(_elm_lang$core$String$split, '?', str))))))); +}; +var _sporto$erl$Erl$queryFromAll = function (all) { + return _sporto$erl$Erl$parseQuery( + _sporto$erl$Erl$extractQuery(all)); +}; +var _sporto$erl$Erl$extractHash = function (str) { + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$drop, + 1, + A2(_elm_lang$core$String$split, '#', str)))); +}; +var _sporto$erl$Erl$hashFromAll = function (str) { + return _sporto$erl$Erl$extractHash(str); +}; +var _sporto$erl$Erl$parseHost = function (str) { + return A2(_elm_lang$core$String$split, '.', str); +}; +var _sporto$erl$Erl$extractProtocol = function (str) { + var parts = A2(_elm_lang$core$String$split, '://', str); + var _p8 = _elm_lang$core$List$length(parts); + if (_p8 === 1) { + return ''; + } else { + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head(parts)); + } +}; +var _sporto$erl$Erl$extractPort = function (str) { + var rx = _elm_lang$core$Regex$regex(':\\d+'); + var res = A3( + _elm_lang$core$Regex$find, + _elm_lang$core$Regex$AtMost(1), + rx, + str); + return function (result) { + var _p9 = result; + if (_p9.ctor === 'Ok') { + return _p9._0; + } else { + var _p10 = _sporto$erl$Erl$extractProtocol(str); + switch (_p10) { + case 'http': + return 80; + case 'https': + return 443; + case 'ftp': + return 21; + case 'sftp': + return 22; + default: + return 0; + } + } + }( + _elm_lang$core$String$toInt( + A2( + _elm_lang$core$String$dropLeft, + 1, + A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$map, + function (_) { + return _.match; + }, + res)))))); +}; +var _sporto$erl$Erl$leftFrom = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + var head = _elm_lang$core$List$head(parts); + var _p11 = _elm_lang$core$List$length(parts); + switch (_p11) { + case 0: + return ''; + case 1: + return ''; + default: + return A2(_elm_lang$core$Maybe$withDefault, '', head); + } + }); +var _sporto$erl$Erl$leftFromOrSame = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head(parts)); + }); +var _sporto$erl$Erl$rightFromOrSame = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + _elm_lang$core$List$reverse(parts))); + }); +var _sporto$erl$Erl$extractHost = function (str) { + var localhostRx = 'localhost'; + var dotsRx = '((\\w|-)+\\.)+(\\w|-)+'; + var rx = A2( + _elm_lang$core$Basics_ops['++'], + '(', + A2( + _elm_lang$core$Basics_ops['++'], + dotsRx, + A2( + _elm_lang$core$Basics_ops['++'], + '|', + A2(_elm_lang$core$Basics_ops['++'], localhostRx, ')')))); + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$map, + function (_) { + return _.match; + }, + A3( + _elm_lang$core$Regex$find, + _elm_lang$core$Regex$AtMost(1), + _elm_lang$core$Regex$regex(rx), + A2( + _sporto$erl$Erl$leftFromOrSame, + '/', + A2(_sporto$erl$Erl$rightFromOrSame, '//', str)))))); +}; +var _sporto$erl$Erl$host = function (str) { + return _sporto$erl$Erl$parseHost( + _sporto$erl$Erl$extractHost(str)); +}; +var _sporto$erl$Erl$extractPath = function (str) { + var host = _sporto$erl$Erl$extractHost(str); + return A4( + _elm_lang$core$Regex$replace, + _elm_lang$core$Regex$AtMost(1), + _elm_lang$core$Regex$regex(':\\d+'), + function (_p12) { + return ''; + }, + A4( + _elm_lang$core$Regex$replace, + _elm_lang$core$Regex$AtMost(1), + _elm_lang$core$Regex$regex(host), + function (_p13) { + return ''; + }, + A2( + _sporto$erl$Erl$leftFromOrSame, + '#', + A2( + _sporto$erl$Erl$leftFromOrSame, + '?', + A2(_sporto$erl$Erl$rightFromOrSame, '//', str))))); +}; +var _sporto$erl$Erl$hasLeadingSlashFromAll = function (str) { + return A2( + _elm_lang$core$Regex$contains, + _elm_lang$core$Regex$regex('^/'), + _sporto$erl$Erl$extractPath(str)); +}; +var _sporto$erl$Erl$hasTrailingSlashFromAll = function (str) { + return A2( + _elm_lang$core$Regex$contains, + _elm_lang$core$Regex$regex('/$'), + _sporto$erl$Erl$extractPath(str)); +}; +var _sporto$erl$Erl$rightFrom = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + var _p14 = _elm_lang$core$List$length(parts); + switch (_p14) { + case 0: + return ''; + case 1: + return ''; + default: + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + _elm_lang$core$List$reverse(parts))); + } + }); +var _sporto$erl$Erl$notEmpty = function (str) { + return _elm_lang$core$Basics$not( + _elm_lang$core$String$isEmpty(str)); +}; +var _sporto$erl$Erl$parsePath = function (str) { + return A2( + _elm_lang$core$List$map, + _elm_lang$core$Maybe$withDefault(''), + A2( + _elm_lang$core$List$map, + _elm_lang$http$Http$decodeUri, + A2( + _elm_lang$core$List$filter, + _sporto$erl$Erl$notEmpty, + A2(_elm_lang$core$String$split, '/', str)))); +}; +var _sporto$erl$Erl$pathFromAll = function (str) { + return _sporto$erl$Erl$parsePath( + _sporto$erl$Erl$extractPath(str)); +}; +var _sporto$erl$Erl$parse = function (str) { + return { + host: _sporto$erl$Erl$host(str), + hash: _sporto$erl$Erl$hashFromAll(str), + password: '', + path: _sporto$erl$Erl$pathFromAll(str), + hasLeadingSlash: _sporto$erl$Erl$hasLeadingSlashFromAll(str), + hasTrailingSlash: _sporto$erl$Erl$hasTrailingSlashFromAll(str), + port_: _sporto$erl$Erl$extractPort(str), + protocol: _sporto$erl$Erl$extractProtocol(str), + query: _sporto$erl$Erl$queryFromAll(str), + username: '' + }; +}; +var _sporto$erl$Erl$Url = function (a) { + return function (b) { + return function (c) { + return function (d) { + return function (e) { + return function (f) { + return function (g) { + return function (h) { + return function (i) { + return function (j) { + return {protocol: a, username: b, password: c, host: d, port_: e, path: f, hasLeadingSlash: g, hasTrailingSlash: h, hash: i, query: j}; + }; + }; + }; + }; + }; + }; + }; + }; + }; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.17.1/sporto/erl/11.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..1b6dd308a57c5cdbcb6bad3f6d9783f6a895e014 GIT binary patch literal 1104 zcmb`GO%8%E5QR~GLZVlZ;uRDV7n&G2L8%2Bi;%V?dV5i3Fd<`)Bpeg literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/Base64.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/Base64.elmi new file mode 100644 index 0000000000000000000000000000000000000000..0b3804bcf0dfa97cb106cb28cfc0583fb948b4be GIT binary patch literal 1704 zcmc&!!A`?44DHsg8-oe)A)G)Qc4ONGX_F9}xT3TT5UFcQk{BJ~HuwW-T_NHvn+2kFQy&sVk(8dp2D| z_lx7*4a@x@W}Z|Xk}~2S#8SDcHlL*Vf7s4Kmj9HYNFlTpeFL?AN1!cy+p;78+D!$* zO%f&ZH7gsF0&1Qe0-`apt}Zr$Uz zU6H5!4({3yRoO)S#ISL#@umyS?N{+B7jMmn0(!(iiRz9$8ka`aRL|8#@Mj*)QvYM^ I$jv>!0X4hCRsaA1 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/Base64.elmo b/app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/Base64.elmo new file mode 100644 index 0000000..48c966d --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/Base64.elmo @@ -0,0 +1,180 @@ +var _truqu$elm_base64$Base64$dropLast = F2( + function (number, list) { + return _elm_lang$core$List$reverse( + A2( + _elm_lang$core$List$drop, + number, + _elm_lang$core$List$reverse(list))); + }); +var _truqu$elm_base64$Base64$partitionBits = function (list) { + var list_ = A3( + _elm_lang$core$List$foldr, + _elm_lang$core$List$append, + _elm_lang$core$Native_List.fromArray( + []), + A2(_elm_lang$core$List$map, _truqu$elm_base64$BitList$fromByte, list)); + return A2( + _elm_lang$core$List$map, + _truqu$elm_base64$BitList$toByte, + A2(_truqu$elm_base64$BitList$partition, 6, list_)); +}; +var _truqu$elm_base64$Base64$base64CharsList = _elm_lang$core$String$toList('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'); +var _truqu$elm_base64$Base64$base64Map = function () { + var insert = F2( + function (_p0, dict) { + var _p1 = _p0; + return A3(_elm_lang$core$Dict$insert, _p1._1, _p1._0, dict); + }); + return A3( + _elm_lang$core$List$foldl, + insert, + _elm_lang$core$Dict$empty, + A2( + _elm_lang$core$List$indexedMap, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + _truqu$elm_base64$Base64$base64CharsList)); +}(); +var _truqu$elm_base64$Base64$isValid = function (string) { + var string_ = A2(_elm_lang$core$String$endsWith, '==', string) ? A2(_elm_lang$core$String$dropRight, 2, string) : (A2(_elm_lang$core$String$endsWith, '=', string) ? A2(_elm_lang$core$String$dropRight, 1, string) : string); + var isBase64Char = function ($char) { + return A2(_elm_lang$core$Dict$member, $char, _truqu$elm_base64$Base64$base64Map); + }; + return A2(_elm_lang$core$String$all, isBase64Char, string_); +}; +var _truqu$elm_base64$Base64$toBase64BitList = function (string) { + var endingEquals = A2(_elm_lang$core$String$endsWith, '==', string) ? 2 : (A2(_elm_lang$core$String$endsWith, '=', string) ? 1 : 0); + var stripped = _elm_lang$core$String$toList( + A2(_elm_lang$core$String$dropRight, endingEquals, string)); + var base64ToInt = function ($char) { + var _p2 = A2(_elm_lang$core$Dict$get, $char, _truqu$elm_base64$Base64$base64Map); + if (_p2.ctor === 'Just') { + return _p2._0; + } else { + return -1; + } + }; + var numberList = A2(_elm_lang$core$List$map, base64ToInt, stripped); + return A2( + _truqu$elm_base64$Base64$dropLast, + endingEquals * 2, + A2( + _elm_lang$core$List$concatMap, + A2(_elm_lang$core$Basics$flip, _truqu$elm_base64$BitList$fromNumberWithSize, 6), + numberList)); +}; +var _truqu$elm_base64$Base64$toCharList = function (bitList) { + var array = _elm_lang$core$Array$fromList(_truqu$elm_base64$Base64$base64CharsList); + var toBase64Char = function (index) { + return A2( + _elm_lang$core$Maybe$withDefault, + _elm_lang$core$Native_Utils.chr('!'), + A2(_elm_lang$core$Array$get, index, array)); + }; + var toChars = function (_p3) { + var _p4 = _p3; + var _p5 = {ctor: '_Tuple3', _0: _p4._0, _1: _p4._1, _2: _p4._2}; + if (_p5._2 === -1) { + if (_p5._1 === -1) { + return A2( + _elm_lang$core$List$append, + A2( + _truqu$elm_base64$Base64$dropLast, + 2, + A2( + _elm_lang$core$List$map, + toBase64Char, + _truqu$elm_base64$Base64$partitionBits( + _elm_lang$core$Native_List.fromArray( + [_p5._0, 0, 0])))), + _elm_lang$core$Native_List.fromArray( + [ + _elm_lang$core$Native_Utils.chr('='), + _elm_lang$core$Native_Utils.chr('=') + ])); + } else { + return A2( + _elm_lang$core$List$append, + A2( + _truqu$elm_base64$Base64$dropLast, + 1, + A2( + _elm_lang$core$List$map, + toBase64Char, + _truqu$elm_base64$Base64$partitionBits( + _elm_lang$core$Native_List.fromArray( + [_p5._0, _p5._1, 0])))), + _elm_lang$core$Native_List.fromArray( + [ + _elm_lang$core$Native_Utils.chr('=') + ])); + } + } else { + return A2( + _elm_lang$core$List$map, + toBase64Char, + _truqu$elm_base64$Base64$partitionBits( + _elm_lang$core$Native_List.fromArray( + [_p5._0, _p5._1, _p5._2]))); + } + }; + return A2(_elm_lang$core$List$concatMap, toChars, bitList); +}; +var _truqu$elm_base64$Base64$toTupleList = function (list) { + var _p6 = list; + if (_p6.ctor === '::') { + if (_p6._1.ctor === '::') { + if (_p6._1._1.ctor === '::') { + return A2( + _elm_lang$core$List_ops['::'], + {ctor: '_Tuple3', _0: _p6._0, _1: _p6._1._0, _2: _p6._1._1._0}, + _truqu$elm_base64$Base64$toTupleList(_p6._1._1._1)); + } else { + return _elm_lang$core$Native_List.fromArray( + [ + {ctor: '_Tuple3', _0: _p6._0, _1: _p6._1._0, _2: -1} + ]); + } + } else { + return _elm_lang$core$Native_List.fromArray( + [ + {ctor: '_Tuple3', _0: _p6._0, _1: -1, _2: -1} + ]); + } + } else { + return _elm_lang$core$Native_List.fromArray( + []); + } +}; +var _truqu$elm_base64$Base64$toCodeList = function (string) { + return A2( + _elm_lang$core$List$map, + _elm_lang$core$Char$toCode, + _elm_lang$core$String$toList(string)); +}; +var _truqu$elm_base64$Base64$decode = function (s) { + if (_elm_lang$core$Basics$not( + _truqu$elm_base64$Base64$isValid(s))) { + return _elm_lang$core$Result$Err('Error while decoding'); + } else { + var bitList = A2( + _elm_lang$core$List$map, + _truqu$elm_base64$BitList$toByte, + A2( + _truqu$elm_base64$BitList$partition, + 8, + _truqu$elm_base64$Base64$toBase64BitList(s))); + var charList = A2(_elm_lang$core$List$map, _elm_lang$core$Char$fromCode, bitList); + return _elm_lang$core$Result$Ok( + _elm_lang$core$String$fromList(charList)); + } +}; +var _truqu$elm_base64$Base64$encode = function (s) { + return _elm_lang$core$Result$Ok( + _elm_lang$core$String$fromList( + _truqu$elm_base64$Base64$toCharList( + _truqu$elm_base64$Base64$toTupleList( + _truqu$elm_base64$Base64$toCodeList(s))))); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/BitList.elmi b/app/templates/client/elm-stuff/build-artifacts/0.17.1/truqu/elm-base64/1.0.5/BitList.elmi new file mode 100644 index 0000000000000000000000000000000000000000..76aca01fb8641954d06366f6843721d3b281767c GIT binary patch literal 1634 zcmcgsO;5ux49yzab(1*2|KNr=>{z%U0Y%$^a{?(uYFfw#()jgkn%ySRs$RPFlK9#2 zvt8SS1m6`%GdNSL-H!udDQb1YnGtulfXoxP&_Y_cB9xR3D$A;ZDND$pV^ip8-n?3&1}_b1rD$dF;4H*$C$~+@hFUJEsU!%kOewetqAhZ7@^2X zf~b3oQ3LQxcYiFwXCpm;X7gPOc(w97qHLyf)^|jgEPZV3KxWhN`h9y|=40a#L_h-R z1i@qv$ubHsweFQrlK!mulpG@m-f0Xgo`8?-;LjH)2vi!`?uf+T< z9j0S$jpS8qdO8EvmSP4F-YdUSh~EvYBe^#UsR5gS7c4KLrG?`Vrg*M0j}k(NqJ_4O zLeQ5uWSEB#LCLqWzMzoQTNc9QdxM2|h)&W_&NxSk{04??zRZ;6aEyo5W zJx{f(wHhs3o64fFcw&q=5F|ZWIioMO5F#m>ZH1vwL^ev%TuU5D+R}aA>E=}zh1>ZH bMSdT4&hTFi>AV1r*Tc@Mlmz)f%{bW+nXdz6 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Model.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Model.elmi new file mode 100644 index 0000000000000000000000000000000000000000..d764d679a6987c71f5881d7eedaf137828d172c3 GIT binary patch literal 8359 zcmeHMSyS6E5SC**kU)9p|KJbs#!=eNkPbs&`m7`(xcC|$OzE$$4}G%a1MJi;Lu+1) zcO~uam%X$mMEU!uyb)r4wtfYa6OWkf9EUzVWM_v0P60uw>EcICN%6IM|>;nnV!+mTEkc70_-|8Pj!P-#f(~E``0#&?!Ca_+o5NfuAe)w zv~kHYUX?JI-!R9E*aeMfi8H-nVQiNznl7Wja?7@xw{hWKkZ#Bpn!hr`*n)TzR3dxTL^$D6U-jvtHG%uJRtIbW?^#c zJu(+Gp;vCt{(~1rE_GM~pXB~H6lgpp^m)9LczF0!OzTrz?gF|v^6)XRLi&TbkCuy= zo(EY>ZK^R%@OHcY)or;Q5(2nFklq%C>TbQSYK% z6zZ658&E;;&g`^uT_#z0KpkdTNlS$Ye99r-08F;t@M##<04g;8Q(xWt&Q>*rLZd=L zhaB5j9b`t~p7=Ru^eG9eAo0!`OH&vo)<$sjuc9HS2TmI{kl{W1X&Yu!Q8tZ-C_;h3 z8skerGd~4^7ra|kcTv2lbI%^q+btY~x3i>V} z|C?1I2WIBue$fRPq!qJWPu}2-h~f8KC2|yvIO*91fMdZZ1sxd+29LI0%P>$buJJ=< zYH145MMTFmk={wV9FK;jsn$q$9A&W4rwqBCl}9tkZ+(@`KJ}Kck;Yjfh4r9vL((5x zkX=9?TafZJwqtH-@J58_*n+6j%<;}DMy%CQQ0Tu#P{jLG7 z)LG;tO+eYA2I1_M_YkS*m1^}4vW3YlrrvUw0Lw9>QpWCJ@~85d1H7W$1BE}8Ca1)M zw(2Y#I)K|^F7Wy&T>fT3AYm-~gO+`PGk(dxI*%4#Au(m)&R0J@``E2f9utK82JEBP>Hq)$ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Model.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Model.elmo new file mode 100644 index 0000000..d4b25ce --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Model.elmo @@ -0,0 +1,20 @@ +var _Gizra$elm_spa_exmple$App_Model$Model = F5( + function (a, b, c, d, e) { + return {accessToken: a, activePage: b, config: c, pageLogin: d, user: e}; + }); +var _Gizra$elm_spa_exmple$App_Model$Flags = F2( + function (a, b) { + return {accessToken: a, hostname: b}; + }); +var _Gizra$elm_spa_exmple$App_Model$PageNotFound = {ctor: 'PageNotFound'}; +var _Gizra$elm_spa_exmple$App_Model$MyAccount = {ctor: 'MyAccount'}; +var _Gizra$elm_spa_exmple$App_Model$Login = {ctor: 'Login'}; +var _Gizra$elm_spa_exmple$App_Model$emptyModel = {accessToken: '', activePage: _Gizra$elm_spa_exmple$App_Model$Login, config: _krisajenkins$remotedata$RemoteData$NotAsked, pageLogin: _Gizra$elm_spa_exmple$Pages_Login_Model$emptyModel, user: _krisajenkins$remotedata$RemoteData$NotAsked}; +var _Gizra$elm_spa_exmple$App_Model$AccessDenied = {ctor: 'AccessDenied'}; +var _Gizra$elm_spa_exmple$App_Model$SetActivePage = function (a) { + return {ctor: 'SetActivePage', _0: a}; +}; +var _Gizra$elm_spa_exmple$App_Model$PageLogin = function (a) { + return {ctor: 'PageLogin', _0: a}; +}; +var _Gizra$elm_spa_exmple$App_Model$Logout = {ctor: 'Logout'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Test.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Test.elmi new file mode 100644 index 0000000000000000000000000000000000000000..6db6e37bf24bfc2d0afdebd9ee6f602f7afd9d20 GIT binary patch literal 1335 zcmdT@OHRWu5Otc5A|ya`!7X}$?gB*!iAq&l4&Wq1uw*+?JVp(the#fhxf9>qV*)VGw=f=yr1d2Oy zp1d?AN1r^o<3<$5aZt*50lBR_FnQQDP@soK&%*dvyyRW(XG&L+<7?e2M?eyNJiJ%s zsgRA$JsB5kP&LAWBQ=$3N!DPj^d%-6Y=!nqjJ9xC%+?MwiAmXf&L}~^SxCjOy><){ zCj%UBKkAsSUG{5H)Jj<`uyYY<58|QBvGlReg2|uwsFE>9`lJzB&1t*FXVVIB#Vg26 zrfc1)+8Xwq@fTZ8`F`5us3-q-Lf6dOLA=E`&?t(pCsLkI0XGIPD^R>c-==@5#zd2FFH#CgSMM}=;&nOM4qW0hu%wi_t#m~|Ok-+oL z;B`l7sz}}>SNufh`THH>UH`lp%!sgyhvScynHLF?$g8S2u$cKbSiVF}i>F!mu*vE30%@qqsAKua^k#tNXF;@Ir zDzeZt$-k4F#U>!$eb#gto(am8(3&4SQ1jvffgTP)E?906d$R^eiLTQ~`>_LP z@mip=*bj6!Q+1F~PMS@k4q#~F4V z&PkA`$706AjyE1&YRL)~zW`jt#g$Q*S-Nh`^xj+>NaQNy{ zevytk=Q_ymT9+@Ih#fPJ0r~hbv%TqV0_ndPL6IFZkv<>q@|GPljl+u_Gg~ir{^jsq zxiT`ZEZ_uX3%)J*wJS?o@bm5q=VM#&5wiCRYOde?2TZlD*M{rrLOE!k2GtjJub^Np GAAbP%3GfC0 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Update.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Update.elmo new file mode 100644 index 0000000..b8de96a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-Update.elmo @@ -0,0 +1,123 @@ +var _Gizra$elm_spa_exmple$App_Update$setActivePageAccess = F2( + function (user, page) { + var _p0 = user; + if (_p0.ctor === 'Success') { + return _elm_lang$core$Native_Utils.eq(page, _Gizra$elm_spa_exmple$App_Model$Login) ? _Gizra$elm_spa_exmple$App_Model$AccessDenied : page; + } else { + return _elm_lang$core$Native_Utils.eq(page, _Gizra$elm_spa_exmple$App_Model$MyAccount) ? _Gizra$elm_spa_exmple$App_Model$AccessDenied : page; + } + }); +var _Gizra$elm_spa_exmple$App_Update$init = function (flags) { + var _p1 = function () { + var _p2 = A2(_elm_lang$core$Dict$get, flags.hostname, _Gizra$elm_spa_exmple$Config$configs); + if (_p2.ctor === 'Just') { + var _p3 = _p2._0; + var cmd = _elm_lang$core$String$isEmpty(flags.accessToken) ? _elm_lang$core$Platform_Cmd$none : A2( + _elm_lang$core$Platform_Cmd$map, + _Gizra$elm_spa_exmple$App_Model$PageLogin, + A2(_Gizra$elm_spa_exmple$Pages_Login_Update$fetchUserFromBackend, _p3.backendUrl, flags.accessToken)); + return { + ctor: '_Tuple2', + _0: _krisajenkins$remotedata$RemoteData$Success(_p3), + _1: cmd + }; + } else { + return { + ctor: '_Tuple2', + _0: _krisajenkins$remotedata$RemoteData$Failure('No config found'), + _1: _elm_lang$core$Platform_Cmd$none + }; + } + }(); + var config = _p1._0; + var cmds = _p1._1; + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + _Gizra$elm_spa_exmple$App_Model$emptyModel, + {accessToken: flags.accessToken, config: config}), + { + ctor: '::', + _0: cmds, + _1: {ctor: '[]'} + }); +}; +var _Gizra$elm_spa_exmple$App_Update$accessTokenPort = _elm_lang$core$Native_Platform.outgoingPort( + 'accessTokenPort', + function (v) { + return v; + }); +var _Gizra$elm_spa_exmple$App_Update$update = F2( + function (msg, model) { + var backendUrl = function () { + var _p4 = model.config; + if (_p4.ctor === 'Success') { + return _p4._0.backendUrl; + } else { + return ''; + } + }(); + var _p5 = msg; + switch (_p5.ctor) { + case 'Logout': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Native_Utils.update( + _Gizra$elm_spa_exmple$App_Model$emptyModel, + {accessToken: '', config: model.config}), + _1: _Gizra$elm_spa_exmple$App_Update$accessTokenPort('') + }; + case 'PageLogin': + var _p6 = A3(_Gizra$elm_spa_exmple$Pages_Login_Update$update, backendUrl, _p5._0, model.pageLogin); + var val = _p6._0; + var cmds = _p6._1; + var webDataUser = _p6._2._0; + var accessToken = _p6._2._1; + var modelUpdated = _elm_lang$core$Native_Utils.update( + model, + {pageLogin: val, accessToken: accessToken, user: webDataUser}); + var _p7 = function () { + var _p8 = webDataUser; + if (_p8.ctor === 'Success') { + return A2( + _Gizra$elm_spa_exmple$App_Update$update, + _Gizra$elm_spa_exmple$App_Model$SetActivePage(_Gizra$elm_spa_exmple$App_Model$MyAccount), + modelUpdated); + } else { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + modelUpdated, + {ctor: '[]'}); + } + }(); + var modelWithRedirect = _p7._0; + var setActivePageCmds = _p7._1; + return { + ctor: '_Tuple2', + _0: modelWithRedirect, + _1: _elm_lang$core$Platform_Cmd$batch( + { + ctor: '::', + _0: A2(_elm_lang$core$Platform_Cmd$map, _Gizra$elm_spa_exmple$App_Model$PageLogin, cmds), + _1: { + ctor: '::', + _0: _Gizra$elm_spa_exmple$App_Update$accessTokenPort(accessToken), + _1: { + ctor: '::', + _0: setActivePageCmds, + _1: {ctor: '[]'} + } + } + }) + }; + default: + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + { + activePage: A2(_Gizra$elm_spa_exmple$App_Update$setActivePageAccess, model.user, _p5._0) + }), + {ctor: '[]'}); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-View.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-View.elmi new file mode 100644 index 0000000000000000000000000000000000000000..3423c69720d1f191ae5a0dbbaef9fdd6112533b7 GIT binary patch literal 12841 zcmeHO+fv&w5LFU8C8kqmT7H8c=v#o&c7`wvm-bn41i1K;vE{Vs*H?CQWZ98P6I^DP ziWkSyS}Psx?pa+Rr1tl|_C|>NIryDYS@@2H(NQ+1N9Ms*+s(7l02S$y?PRkL@QCUchZ zCA2|QOy25mEy$^%b%1`&hDgtmI$inPr@qg!>?V0+F(#7K&DEnm4;HMLMTJNQ9b1{j zsvASU41X2kZy(bjqd!>u7{mxIURpZcY~AVB-EqC7-yGd8AlJim4cgjEg)_8zQ|b$d zXSZqCv10F7wJhh9^q{pdlTJ({)>21Cb1}hX^xmd}#volIff_KimkK4g#3(G-<4lC@ zf7pjnImkkZ!V6vjY@PzjnTr$vf(?KPadHv9Rp*~;#&5o}sexpARB7145nGu>uc+n( zGdrSXwj>Or91;<3!uttMLtKBci2rE`)uY5;L8JuC< z){_ex#GY+i#;c{%r6;dW!Y!_w?lx?TtGw`_fVCTm_RO#3h$mJ__RMd~%}jgdC+=nG z*O6W_t+pA?D(CC=B-JifHeNH_f{G8CmjEpv|BKbg$`J^*K6U~530ka0xauYY%)s8k zDdBHH35!5`2d93s(;n>EgFWFl8*esQKJJo_&6oJqp>YR`M9lxH0rLEd KZ6c7ndj0{Lq;*{Y literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-View.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-View.elmo new file mode 100644 index 0000000..e345bd6 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/App-View.elmo @@ -0,0 +1,361 @@ +var _Gizra$elm_spa_exmple$App_View$classByPage = F2( + function (page, activePage) { + return _elm_lang$html$Html_Attributes$classList( + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'item', _1: true}, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'active', + _1: _elm_lang$core$Native_Utils.eq(page, activePage) + }, + _1: {ctor: '[]'} + } + }); + }); +var _Gizra$elm_spa_exmple$App_View$viewFooter = A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui inverted vertical footer segment form-page'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui container'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$a, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$href('http://gizra.com'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$target('_blank'), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Gizra'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$span, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text(' // '), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$a, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$href('https://github.com/Gizra/elm-spa-example'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$target('_blank'), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Github'), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + } + }), + _1: {ctor: '[]'} + }); +var _Gizra$elm_spa_exmple$App_View$viewMainContent = function (model) { + var _p0 = model.activePage; + switch (_p0.ctor) { + case 'AccessDenied': + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Access denied'), + _1: {ctor: '[]'} + }); + case 'Login': + return A2( + _elm_lang$html$Html$map, + _Gizra$elm_spa_exmple$App_Model$PageLogin, + A2(_Gizra$elm_spa_exmple$Pages_Login_View$view, model.user, model.pageLogin)); + case 'MyAccount': + return _Gizra$elm_spa_exmple$Pages_MyAccount_View$view(model.user); + default: + return _Gizra$elm_spa_exmple$Pages_PageNotFound_View$view; + } +}; +var _Gizra$elm_spa_exmple$App_View$viewAvatar = function (user) { + var _p1 = user; + if (_p1.ctor === 'Success') { + return A2( + _elm_lang$html$Html$a, + { + ctor: '::', + _0: _elm_lang$html$Html_Events$onClick( + _Gizra$elm_spa_exmple$App_Model$SetActivePage(_Gizra$elm_spa_exmple$App_Model$MyAccount)), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui item'), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$img, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui avatar image'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$src(_p1._0.avatarUrl), + _1: {ctor: '[]'} + } + }, + {ctor: '[]'}), + _1: {ctor: '[]'} + }); + } else { + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + {ctor: '[]'}); + } +}; +var _Gizra$elm_spa_exmple$App_View$viewPageNotFoundItem = function (activePage) { + return A2( + _elm_lang$html$Html$a, + { + ctor: '::', + _0: A2(_Gizra$elm_spa_exmple$App_View$classByPage, _Gizra$elm_spa_exmple$App_Model$PageNotFound, activePage), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Events$onClick( + _Gizra$elm_spa_exmple$App_Model$SetActivePage(_Gizra$elm_spa_exmple$App_Model$PageNotFound)), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text('404 page'), + _1: {ctor: '[]'} + }); +}; +var _Gizra$elm_spa_exmple$App_View$navbarAuthenticated = function (model) { + return { + ctor: '::', + _0: A2( + _elm_lang$html$Html$a, + { + ctor: '::', + _0: A2(_Gizra$elm_spa_exmple$App_View$classByPage, _Gizra$elm_spa_exmple$App_Model$MyAccount, model.activePage), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Events$onClick( + _Gizra$elm_spa_exmple$App_Model$SetActivePage(_Gizra$elm_spa_exmple$App_Model$MyAccount)), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text('My Account'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _Gizra$elm_spa_exmple$App_View$viewPageNotFoundItem(model.activePage), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('right menu'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _Gizra$elm_spa_exmple$App_View$viewAvatar(model.user), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$a, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui item'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Events$onClick(_Gizra$elm_spa_exmple$App_Model$Logout), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Logout'), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }), + _1: {ctor: '[]'} + } + } + }; +}; +var _Gizra$elm_spa_exmple$App_View$navbarAnonymous = function (model) { + return { + ctor: '::', + _0: A2( + _elm_lang$html$Html$a, + { + ctor: '::', + _0: A2(_Gizra$elm_spa_exmple$App_View$classByPage, _Gizra$elm_spa_exmple$App_Model$Login, model.activePage), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Events$onClick( + _Gizra$elm_spa_exmple$App_Model$SetActivePage(_Gizra$elm_spa_exmple$App_Model$Login)), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Login'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _Gizra$elm_spa_exmple$App_View$viewPageNotFoundItem(model.activePage), + _1: {ctor: '[]'} + } + }; +}; +var _Gizra$elm_spa_exmple$App_View$viewHeader = function (model) { + var navbar = function () { + var _p2 = model.user; + if (_p2.ctor === 'Success') { + return _Gizra$elm_spa_exmple$App_View$navbarAuthenticated; + } else { + return _Gizra$elm_spa_exmple$App_View$navbarAnonymous; + } + }(); + return A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui secondary pointing menu'), + _1: {ctor: '[]'} + }, + navbar(model)); +}; +var _Gizra$elm_spa_exmple$App_View$view = function (model) { + var _p3 = model.config; + if (_p3.ctor === 'Failure') { + return _Gizra$elm_spa_exmple$Config_View$view; + } else { + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui container main'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _Gizra$elm_spa_exmple$App_View$viewHeader(model), + _1: { + ctor: '::', + _0: _Gizra$elm_spa_exmple$App_View$viewMainContent(model), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$pre, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui padded secondary segment'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text( + A2( + _elm_lang$core$Basics_ops['++'], + 'activePage: ', + _elm_lang$core$Basics$toString(model.activePage))), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text( + A2( + _elm_lang$core$Basics_ops['++'], + 'pageLogin: ', + _elm_lang$core$Basics$toString(model.pageLogin))), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text( + A2( + _elm_lang$core$Basics_ops['++'], + 'user: ', + _elm_lang$core$Basics$toString(model.user))), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + } + }), + _1: {ctor: '[]'} + } + } + }), + _1: { + ctor: '::', + _0: _Gizra$elm_spa_exmple$App_View$viewFooter, + _1: {ctor: '[]'} + } + }); + } +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-Model.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-Model.elmi new file mode 100644 index 0000000000000000000000000000000000000000..3bbf7aadcd28a804effaaa32a4db1f8f465f3c11 GIT binary patch literal 1130 zcmc&yI}XAy40UN!p$-h(g9|VM5(`L(&jC^zP(;#JO)CMXXQ*8i^Bs`rlIHo@e$Nho z_YJ)pfSBuRB@rAbV@Ix(BXzc=QHX{C{)lCfDMJO?8^w}|+@DmQ?J6Q9NF+u)kxuU& zL&Z#`&5?o8Lc5w_Vks{vNurwlm67$Ks4S9ucyc_P+Uyf$)1<6ryjHF;Tu8jBE1h%6 zV%yv&MlyQiF_6?iLP$7x2JeiI1Qdvi5S01F5~+1OE%JjV_1;DwR|o;60lDVDk2QFL uAc)w~lC*neKW_Y$`BqJoORM-CP-u5h{7GF3bu(>~eCvO84lg9WcYXs$$&nEN literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-Model.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-Model.elmo new file mode 100644 index 0000000..dd576e2 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-Model.elmo @@ -0,0 +1,4 @@ +var _Gizra$elm_spa_exmple$Config_Model$Model = F2( + function (a, b) { + return {backendUrl: a, name: b}; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-View.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-View.elmi new file mode 100644 index 0000000000000000000000000000000000000000..1c740068b7054624aec53feecda4480a4dedd019 GIT binary patch literal 711 zcmah`%MQXI5X2T5qsD{((I4>UBhiBzqsBY6s3c%b0bgJ5i|u1Q$OU$G*qxmvq;`6> zh!8fBkDPn3E0m7SnaAR$&q{c-0bl4vimMMgC>ag8kvoG>HWrCHAdpV2RvrudUBy}h zYjc@6D{whFlg6TIY|ifqmfBn@ZueQPQ5%ehBc1-EtX+ayMk`^Q!a}0;OZ5p4%Qmib z5~dCMeFCmFI0*qKwE;`UUxF9-SrCJN&G$AHFC@`p={s<$zE|In54Abe-eCYCF5kY$ f+&Zq}Gy~g#+S-0o<03;BSz0U&XzylzlAr4dOcqP3 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-View.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-View.elmo new file mode 100644 index 0000000..2e7d052 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config-View.elmo @@ -0,0 +1,30 @@ +var _Gizra$elm_spa_exmple$Config_View$view = A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('config-error'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$h2, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Configuration error'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Check your Config.elm file and make sure you have defined the enviorement properly'), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config.elmi new file mode 100644 index 0000000000000000000000000000000000000000..9c3896eb0fd867e6da4d57d90bd6be6c3432fee7 GIT binary patch literal 1470 zcmeHH$xg#C5S=UzRfIV3AN_$I+e%!hgeZK##BnPNFOic-z}F*SCX1!29C|@&E|Ynl z<;`LP%)a}X1|S~vXFvk)l(EaU!KHe)jZuVV>>`YpXjm(o;Oky?+B=4Bq<05>Y)QW* znUE~j*lNkADWjVoC(^{u*NStnqu8pdKSt5=t(IMkJ?b{b#120yu7x8mo(y&eA1no6 zGBKWQY<opdY!&+!r^i3r1xSYGP%&kN@=dw=HJA%0F4se3 k$^{AYh4~nBhgO|9gWn5tVRHYzE0c%g+M3y$z{@tuFDJ&s3IG5A literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config.elmo new file mode 100644 index 0000000..94e8d6b --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Config.elmo @@ -0,0 +1,12 @@ +var _Gizra$elm_spa_exmple$Config$production = {backendUrl: 'https://live-hedley-elm.pantheonsite.io', name: 'gh-pages'}; +var _Gizra$elm_spa_exmple$Config$local = {backendUrl: 'https://live-hedley-elm.pantheonsite.io', name: 'local'}; +var _Gizra$elm_spa_exmple$Config$configs = _elm_lang$core$Dict$fromList( + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'localhost', _1: _Gizra$elm_spa_exmple$Config$local}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'example', _1: _Gizra$elm_spa_exmple$Config$production}, + _1: {ctor: '[]'} + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Main.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Main.elmi new file mode 100644 index 0000000000000000000000000000000000000000..0067978921d2e1d22f9274bee8056f65bf41876f GIT binary patch literal 4286 zcmeHK+j8145S6jy0KGi)Kk@^4Ym%nzOqgMk&_1t?;;7h`N0QUa*ViUm*%nX=g@?|- zi?OuYJwCguBN5X3z3aUZ!aj;$3hdxpp5^DdgmeBQFEegO2e^dhAPRhWqpMgaN|Z*( zLZbt3N%+1j?GT&DInOrFN3(Jc#*f)?K)(q7-L4PpGr9yV5{!Y36{Cdcq- zNN*Q3&%*G)!~!WrhuHU%pVkIxAa?_?C)`oAu-~aPa)+l z8wVheHV!R{D3QgZNZV|`UMQjA8!r~Z_4iouTpC_CD%fS1&hg!H=DM9(9U1s6??ZBQ zwZv(|_v>Lj&lq(aLsFN*e5SGk2OeKK&lVR6Fe>R+99>&&cGak?^KmOvQS1T`cLCO9 z6Wf6;-R!^;CUTTD@o(zA?uZyhOLR>T$Cux|ecZXd(E~AeGvVg~rDQ#a!Et*W8Cp?`Cu8t1 zfHt)#yD|1bDcR=je`A##a$^oB8in6GXYEsU8})PjetFWReMmm(l7DZ&-Rq=FFFXE8 ymrlB5E1`1?IJVl?w?S0f6-Dmc-|+aba-(gpt6}>$a6WgC=}j`!5j#8$y6126@n|Oi literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Main.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Main.elmo new file mode 100644 index 0000000..6f95dbe --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Main.elmo @@ -0,0 +1,17 @@ +var _Gizra$elm_spa_exmple$Main$subscriptions = function (model) { + return _elm_lang$core$Platform_Sub$none; +}; +var _Gizra$elm_spa_exmple$Main$main = _elm_lang$html$Html$programWithFlags( + {init: _Gizra$elm_spa_exmple$App_Update$init, update: _Gizra$elm_spa_exmple$App_Update$update, view: _Gizra$elm_spa_exmple$App_View$view, subscriptions: _Gizra$elm_spa_exmple$Main$subscriptions})( + A2( + _elm_lang$core$Json_Decode$andThen, + function (accessToken) { + return A2( + _elm_lang$core$Json_Decode$andThen, + function (hostname) { + return _elm_lang$core$Json_Decode$succeed( + {accessToken: accessToken, hostname: hostname}); + }, + A2(_elm_lang$core$Json_Decode$field, 'hostname', _elm_lang$core$Json_Decode$string)); + }, + A2(_elm_lang$core$Json_Decode$field, 'accessToken', _elm_lang$core$Json_Decode$string))); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Decoder.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Decoder.elmi new file mode 100644 index 0000000000000000000000000000000000000000..c5a0f9692027f67afa1a685707b3a09808417b1b GIT binary patch literal 1455 zcmcIkOHaZ;5Z=;mK}j_DKe!mCebAPUV3n_pY0JpqRZC1I9PQF} z$bvD~nS;>@`(9z$zERRCTLT8AW4Y!?OecTE2#2FH6)by~Dls@_`7H`GjAYu-R}Q{Ny-j^Z2D4Hnxo-xaZx5Kk9kCU1ClF)0DLg+nkqQKhaF973fVF|Rmx1IG z2#h$=IfSGK;68$=X@xgLlGl)|Nv=grbarP)WE2_hb1oIeo$<0zevsWTxT~;R(rpW_ zEUeWo;yrq#C3Au&jEGgQTI$fT4X>~c*Pjvw5WmjMwh1hVDT$CwBk^67Lfxnof|y%Q z!enJA(dQhsC(f&8VF);4JoxX^*#gg@Czw`bl=fBX5mlBNVu{Edm2-E*QRe%)>OH?-*r-$xQuVx5Nv)iL>^9RnrEfZg}XVxBR8Odrw*dtWi zUgjDKo@S^3QhWY#GSen7<_~6nHFwp4x_6dirr=W&Ku2%IESxo`0+01uKw*d{8 u+W!%NMz4wWvhi+0Tu6d8@Ibg{QL}Ty-#GBtQH^wi*dxy+22PJQkFnoAV!L_( literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Model.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Model.elmo new file mode 100644 index 0000000..7e2492e --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Model.elmo @@ -0,0 +1,28 @@ +var _Gizra$elm_spa_exmple$Pages_Login_Model$LoginForm = F2( + function (a, b) { + return {name: a, pass: b}; + }); +var _Gizra$elm_spa_exmple$Pages_Login_Model$emptyModel = { + loginForm: A2(_Gizra$elm_spa_exmple$Pages_Login_Model$LoginForm, 'demo', '1234') +}; +var _Gizra$elm_spa_exmple$Pages_Login_Model$Model = function (a) { + return {loginForm: a}; +}; +var _Gizra$elm_spa_exmple$Pages_Login_Model$Error = function (a) { + return {ctor: 'Error', _0: a}; +}; +var _Gizra$elm_spa_exmple$Pages_Login_Model$None = {ctor: 'None'}; +var _Gizra$elm_spa_exmple$Pages_Login_Model$TryLogin = {ctor: 'TryLogin'}; +var _Gizra$elm_spa_exmple$Pages_Login_Model$SetPassword = function (a) { + return {ctor: 'SetPassword', _0: a}; +}; +var _Gizra$elm_spa_exmple$Pages_Login_Model$SetName = function (a) { + return {ctor: 'SetName', _0: a}; +}; +var _Gizra$elm_spa_exmple$Pages_Login_Model$HandleFetchedUser = F2( + function (a, b) { + return {ctor: 'HandleFetchedUser', _0: a, _1: b}; + }); +var _Gizra$elm_spa_exmple$Pages_Login_Model$HandleFetchedAccessToken = function (a) { + return {ctor: 'HandleFetchedAccessToken', _0: a}; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Update.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Update.elmi new file mode 100644 index 0000000000000000000000000000000000000000..14d696dab549cf73868b5eb65f24cdb4698a5ccc GIT binary patch literal 3414 zcmds3O>f&U43%TcY0_c9hTZlXdRcG1HO;yWXn>+^u;ZZEN~*?RkmO<8ub-Xi`9n_H z8bvUqz8EGcntXgBNl5E?-})kiei45pGs3q#iceI=PWZ1li@1>vaOA_1>)?K_xV)5U zJYm6_Cn1!6o`p=~%sV4?%-f$ZB?4u>;L*QGlciW0DV?PukF0}q$`?5-;O+RU*4ZQ% zQOKob?_CL{Eg7A$-wQ?H=n&FfOMI`Y2^ntB`A6-XGFH;#CugKY! zyB9Gq+-Y)~FRYZtH#|-?pE8Zw0UQ5@t30wH@NcygiH#$@%e!Uv$^rwVW=Rkpoof*R zx#4%dXhh*5+p{x*h#W>-oF%RL)D}+~7{4Dk6g&?CuGC#x@UO{43V%IF{RjoehT(Gw zQWB@i1AzAVXHO=LHl)0)DMXwKUIT}hu$XsZ`ls|Vrc_7g4gk_odD$aYk-`g7iA#cG zkC3&&Tc`5*4B&f$;La3SyS@GNDFD)XY0=?_7#18bsA${&1x8SDPqgWiQ%_p9T7G>m zkQ>t?jBQl&2WMfhtqHCVQeVy$xvWWQQ*y53dJ6H zvK9$efwA1|B*hlUj6G8CZY$Q>07HjWe|SbuKpWnB2RrCTxdA_r)q~!R?jnv60cwQl|1?QSB2r>PmNR_N_K^ P+}I)wSX=fxXsq{Nya?lw literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Update.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Update.elmo new file mode 100644 index 0000000..e677444 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-Update.elmo @@ -0,0 +1,115 @@ +var _Gizra$elm_spa_exmple$Pages_Login_Update$fetchUserFromBackend = F2( + function (backendUrl, accessToken) { + return A3( + _Gizra$elm_spa_exmple$Utils_WebData$sendWithHandler, + _Gizra$elm_spa_exmple$Pages_Login_Decoder$decodeUser, + _Gizra$elm_spa_exmple$Pages_Login_Model$HandleFetchedUser(accessToken), + A2( + _lukewestby$elm_http_builder$HttpBuilder$withQueryParams, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'access_token', _1: accessToken}, + _1: {ctor: '[]'} + }, + _lukewestby$elm_http_builder$HttpBuilder$get( + A2(_elm_lang$core$Basics_ops['++'], backendUrl, '/api/me')))); + }); +var _Gizra$elm_spa_exmple$Pages_Login_Update$fetchAccessTokenFromBackend = F2( + function (backendUrl, loginForm) { + var credentials = _Gizra$elm_spa_exmple$Pages_Login_Decoder$encodeCredentials( + {ctor: '_Tuple2', _0: loginForm.name, _1: loginForm.pass}); + return A3( + _Gizra$elm_spa_exmple$Utils_WebData$sendWithHandler, + _Gizra$elm_spa_exmple$Pages_Login_Decoder$decodeAccessToken, + _Gizra$elm_spa_exmple$Pages_Login_Model$HandleFetchedAccessToken, + A3( + _lukewestby$elm_http_builder$HttpBuilder$withHeader, + 'Authorization', + A2(_elm_lang$core$Basics_ops['++'], 'Basic ', credentials), + _lukewestby$elm_http_builder$HttpBuilder$get( + A2(_elm_lang$core$Basics_ops['++'], backendUrl, '/api/login-token')))); + }); +var _Gizra$elm_spa_exmple$Pages_Login_Update$update = F3( + function (backendUrl, msg, model) { + var _p0 = msg; + switch (_p0.ctor) { + case 'HandleFetchedAccessToken': + if (_p0._0.ctor === 'Ok') { + var _p1 = _p0._0._0; + return { + ctor: '_Tuple3', + _0: model, + _1: A2(_Gizra$elm_spa_exmple$Pages_Login_Update$fetchUserFromBackend, backendUrl, _p1), + _2: {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _p1} + }; + } else { + return { + ctor: '_Tuple3', + _0: model, + _1: _elm_lang$core$Platform_Cmd$none, + _2: { + ctor: '_Tuple2', + _0: _krisajenkins$remotedata$RemoteData$Failure(_p0._0._0), + _1: '' + } + }; + } + case 'HandleFetchedUser': + if (_p0._1.ctor === 'Ok') { + return { + ctor: '_Tuple3', + _0: model, + _1: _elm_lang$core$Platform_Cmd$none, + _2: { + ctor: '_Tuple2', + _0: _krisajenkins$remotedata$RemoteData$Success(_p0._1._0), + _1: _p0._0 + } + }; + } else { + return { + ctor: '_Tuple3', + _0: model, + _1: _elm_lang$core$Platform_Cmd$none, + _2: { + ctor: '_Tuple2', + _0: _krisajenkins$remotedata$RemoteData$Failure(_p0._1._0), + _1: _p0._0 + } + }; + } + case 'SetName': + var loginForm = model.loginForm; + var loginForm_ = _elm_lang$core$Native_Utils.update( + loginForm, + {name: _p0._0}); + return { + ctor: '_Tuple3', + _0: _elm_lang$core$Native_Utils.update( + model, + {loginForm: loginForm_}), + _1: _elm_lang$core$Platform_Cmd$none, + _2: {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$NotAsked, _1: ''} + }; + case 'SetPassword': + var loginForm = model.loginForm; + var loginForm_ = _elm_lang$core$Native_Utils.update( + loginForm, + {pass: _p0._0}); + return { + ctor: '_Tuple3', + _0: _elm_lang$core$Native_Utils.update( + model, + {loginForm: loginForm_}), + _1: _elm_lang$core$Platform_Cmd$none, + _2: {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$NotAsked, _1: ''} + }; + default: + return { + ctor: '_Tuple3', + _0: model, + _1: A2(_Gizra$elm_spa_exmple$Pages_Login_Update$fetchAccessTokenFromBackend, backendUrl, model.loginForm), + _2: {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: ''} + }; + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-View.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-View.elmi new file mode 100644 index 0000000000000000000000000000000000000000..e5001b1d6086537ca67b4186c44f9b2addcd4d19 GIT binary patch literal 1989 zcmdT_!BX2W5S48yB`L#9`H%bnx0Zy$4Cye?z*(+UBarQkBnRl%*CBect)!DM42S08 zcz3mW`}XacklydO_eKc&F8^rmj7LHhW3%96@mwsFaMlP%=u(O&_wprh4!&_Cf0@9_ zCL*o#z(~(+p`0yt&#rCs)mkmn+6tuG7B!eIMQITMjPz0(8{Efc{3S&(iF2|mp8Ndl zvdU!%&#cM>@FDNPmE!hyr3)7XM4>%7EwWu9H+AYlkbQJ5ipq)!w>~;T<>uhz2>tTxn3fnHXbvRvcV-VP?*8|?77QfF? zXLp}>|HGdYCin8&V=CX+g=A*(&g_JUKQE=WHCN-T0!08ex?Q^_-a~&h-vbQ82V+LR G!slOBy#-GI literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-View.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-View.elmo new file mode 100644 index 0000000..d6d5eae --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-Login-View.elmo @@ -0,0 +1,178 @@ +var _Gizra$elm_spa_exmple$Pages_Login_View$view = F2( + function (user, model) { + var error = function () { + var _p0 = user; + if (_p0.ctor === 'Failure') { + return A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui error'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _Gizra$elm_spa_exmple$Utils_WebData$viewError(_p0._0), + _1: {ctor: '[]'} + }); + } else { + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + {ctor: '[]'}); + } + }(); + var _p1 = function () { + var _p2 = user; + switch (_p2.ctor) { + case 'Loading': + return {ctor: '_Tuple2', _0: true, _1: false}; + case 'Failure': + return {ctor: '_Tuple2', _0: false, _1: true}; + default: + return {ctor: '_Tuple2', _0: false, _1: false}; + } + }(); + var isLoading = _p1._0; + var isError = _p1._1; + var inputClasses = _elm_lang$html$Html_Attributes$classList( + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'ui action input', _1: true}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'error', _1: isError}, + _1: {ctor: '[]'} + } + }); + var spinner = A2( + _elm_lang$html$Html$i, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('notched circle loading icon'), + _1: {ctor: '[]'} + }, + {ctor: '[]'}); + return A2( + _elm_lang$html$Html$form, + { + ctor: '::', + _0: _elm_lang$html$Html_Events$onSubmit(_Gizra$elm_spa_exmple$Pages_Login_Model$TryLogin), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$action('javascript:void(0);'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui stacked segment'), + _1: {ctor: '[]'} + } + } + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: inputClasses, + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$input, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$type_('text'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$placeholder('Name'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Events$onInput(_Gizra$elm_spa_exmple$Pages_Login_Model$SetName), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$value(model.loginForm.name), + _1: {ctor: '[]'} + } + } + } + }, + {ctor: '[]'}), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$input, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$type_('password'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$placeholder('Password'), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Events$onInput(_Gizra$elm_spa_exmple$Pages_Login_Model$SetPassword), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$value(model.loginForm.pass), + _1: {ctor: '[]'} + } + } + } + }, + {ctor: '[]'}), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$button, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$disabled(isLoading), + _1: { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui primary button'), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$span, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$hidden(!isLoading), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: spinner, + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$span, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$hidden(isLoading), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text('Login'), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }), + _1: {ctor: '[]'} + } + } + }), + _1: { + ctor: '::', + _0: error, + _1: {ctor: '[]'} + } + }); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-MyAccount-View.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-MyAccount-View.elmi new file mode 100644 index 0000000000000000000000000000000000000000..21c5b43ad0b5553b1e75693f5e93dd4f65f9b6ae GIT binary patch literal 1392 zcmdT^%TmHH6iwR%u{tjN4}O51ilfemi~Pm#Syx(BmI!F1bS^4516b-_bQNcFw_wXA_`oz_V%^fb`lb z>9E-CO)NdLR*S5%JWNM#g|R_4HiXYCJZkq|f_*8q3d)3da-s5lF5@Z-N~R;OO3Mde zQ8<*SGvcO_;SoFInokkRz#gi##$Jbs;o6mB!!qZgP;tLcuv!Ep!9dc|X6>=p!4+He zmSN!WObY{VyqJjsyO8Q7?R=B=rXUATJlmpA1ir#AE*^5DyF_UkNJJf##O;T$sE?{A zT4Ey7?nEqdZ%J+nY#S{=ac{toD2e|{oK3l6pS$}rf)e~~p|94?9U-h=4~xgxrPihX zx2pPsZ{h79i3V?vH6IMLC(2CmJAy{T!sJH_p=|}SmzVfLU|jmRG7Y?i-qmA>9YD8w H^meRo;aIJ! literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-MyAccount-View.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-MyAccount-View.elmo new file mode 100644 index 0000000..6a61081 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-MyAccount-View.elmo @@ -0,0 +1,81 @@ +var _Gizra$elm_spa_exmple$Pages_MyAccount_View$view = function (user) { + var _p0 = function () { + var _p1 = user; + if (_p1.ctor === 'Success') { + var _p2 = _p1._0; + return { + ctor: '_Tuple2', + _0: _p2.name, + _1: A2( + _elm_lang$html$Html$img, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$src(_p2.avatarUrl), + _1: {ctor: '[]'} + }, + {ctor: '[]'}) + }; + } else { + return { + ctor: '_Tuple2', + _0: '', + _1: A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + {ctor: '[]'}) + }; + } + }(); + var name = _p0._0; + var avatar = _p0._1; + return A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui centered card'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('image'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: avatar, + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('content'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('header'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$html$Html$text( + A2(_elm_lang$core$Basics_ops['++'], 'Welcome ', name)), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-PageNotFound-View.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-PageNotFound-View.elmi new file mode 100644 index 0000000000000000000000000000000000000000..baea4a125dfcba6bd5bc6ea4eb9203152323abdf GIT binary patch literal 707 zcmah`%WlFj5OfkdLbT$*f8+TcLuuZ-@a)HbJpXplZc2Dd9KL%yMSGB-sZW#x17W%@0x*HlQlx~V?W zVa3`vPU5ujWWvzZ2v~wR>kQa1dI>?`eL({22LIdCP)p*6#&_hjeQ&=ppBTHxcLY%q jV?dj~oK@vK=&UHwbfgY9kJO^h@UOC{SBA8k5l_w^xok<= literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-PageNotFound-View.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-PageNotFound-View.elmo new file mode 100644 index 0000000..e6f22f8 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Pages-PageNotFound-View.elmo @@ -0,0 +1,19 @@ +var _Gizra$elm_spa_exmple$Pages_PageNotFound_View$view = A2( + _elm_lang$html$Html$div, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$class('ui segment center aligned'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$h2, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('This is a 404 page!'), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/User-Decoder.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/User-Decoder.elmi new file mode 100644 index 0000000000000000000000000000000000000000..1c691df8282ba1f65305334d8744a8067117e814 GIT binary patch literal 898 zcma)4+fKwF5Tz~D>Vpsd$Ns=R>Ly0xCL7m&z_dj}0&N4-s9*1Gh6NH+c>xY*W)5eD zv1DB(H^#)R`mliDrPOBQX4uF#Gi!-xK_M4|?59DtPFf1cDD^cs)w>K8JJ~HS2$s0> zdpC`Eu6I9)@m8%enuD69R%5P^KPcxhnpBHDymvXVIcV_DlQl>tQ8`}Sm|=}_T)M1e z{V3g{b0PK7TQ!mmLEh7Ha++lD$YQbovRr2(MC+9%n`0*_L%H2DDp3Hd2xo~!C&nrP z1wqd$7qJ^e;F1#$qJ6Ypb0yNSMXq4 ct0@snyHu(nyi|81wUm!wWOztJutcgdq^ZjH(AQOuZ3}zPusy=nu90Ztu znGgl0R(LI0oqN8lEyn%PJ0hnPC7#V)HAdMqrI0MXb!eEIs%qox6V0XA}3g%K2(Hw+N?d7t=IXmaxJ3@MA z-n$XvZStpL2ApwGEcA^n_`SFZZqN}V(~PGw?B6s)>PRah1_PFF=XM2YLfis7HQu7w@M zk1LgzXbMTZbKQ-S!Yd332o56@6Ck|?JH{Zvy!*WmI)Z-kUaMejG&hwB1B3JL*^iq| WV80F&q~CA%IsR@;zkZ-;ye%&#F25-alp~%lt##yUd#o=ueXJ4FKGd1>`R)H&F&6Zt@1Fi}tid5+aUe1rkncESM58ubxfCRc-l<$oaS}1Y0Y6_;vbp0t1>{1X zSbFuxSkQ$qP;Wv)wKPC?Dr45hWM*K4sg&7RQ5Kavpql$gg*3vwC%g@zAqecfFf2b( z9_wIe)Wn_JI64(FSD{hTpAn&$NyMK^P7||h?^RWLJ5XyhLO|8R$N_q&(O?yEGC=2T zJ)>hol3rl|hD(0#BITeOly@IQn&?#ige=ksBF^?ZaDfF`bMiTR*d40@F-`57JNs~^ zRqhGn6>>k7n78vN)UYu8Ik8yQ2=b#I)}C#qB literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Utils-WebData.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Utils-WebData.elmo new file mode 100644 index 0000000..8388a51 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/Gizra/elm-spa-exmple/1.0.0/Utils-WebData.elmo @@ -0,0 +1,96 @@ +var _Gizra$elm_spa_exmple$Utils_WebData$sendWithHandler = F3( + function (decoder, tagger, builder) { + return A2( + _lukewestby$elm_http_builder$HttpBuilder$send, + tagger, + A2( + _lukewestby$elm_http_builder$HttpBuilder$withExpect, + _elm_lang$http$Http$expectJson(decoder), + builder)); + }); +var _Gizra$elm_spa_exmple$Utils_WebData$viewError = function (error) { + var _p0 = error; + switch (_p0.ctor) { + case 'BadUrl': + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('URL is not valid.'), + _1: {ctor: '[]'} + }); + case 'BadPayload': + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$p, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('The server responded with data of an unexpected type.'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$p, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text(_p0._0), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }); + case 'NetworkError': + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('There was a network error.'), + _1: {ctor: '[]'} + }); + case 'Timeout': + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('The network request timed out.'), + _1: {ctor: '[]'} + }); + default: + return A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text('The server indicated the following error:'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$html$Html$div, + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$html$Html$text(_p0._0.status.message), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }); + } +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/NoRedInk/elm-decode-pipeline/3.0.0/Json-Decode-Pipeline.elmi new file mode 100644 index 0000000000000000000000000000000000000000..3a5fc8bd1ec30c721e06a234838f7f9d4c48c215 GIT binary patch literal 3511 zcmeHJ%TB{E5Omrm4ds9Y-_alF4JZc?Ak?DXoy35J8wWc^;_qo%PhKcOg1SW&xj5de zJv-~&i3w>ur;QmQ;k}%(b__14=CN*B{V9vg zvo-eYIJnU=#j@#|ZEM-!mTQm!fPY6nB18*g_#kNhBo(3pMBCoKT!KfZ%iKh*FoGG= zMzjM7=DFf2NFfsc(PRSQjqFCf$%MecqofaP(jZuQeCvR$*`w(9ur@3zN6<2?K`a%b z0cv;NhnrJS;E!F`F=Mh_h+19%;6={);Dk}^B{X#oO>J^(ja8wqN&}NaN^_+{s6m46 zaYYzuT$OI^)fHL|qeR@ zpG(bETHFY%kl9^baR>EABkurg!>+nz?W2QS(cH6K)h?=kNUjbu+2!@#6+Kt`R(^!_5nUUUd2|43)bdfZ#W}r{QN?h2!no)a;Ai8g(zMY==(y~)QSLOT{EV) z|69?6O0x=A+(=%mw7{rD=u`bl~@ty6Yk+Ou$$*grxA?)bcZZ7fr#% jR%(diqLboHuItaX_gDd1(JpJUzGV)B{EI!?6tUg|`NWMv literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Expect.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Expect.elmi new file mode 100644 index 0000000000000000000000000000000000000000..38b523b9e24286cab0d04677249c9e369d1f1a22 GIT binary patch literal 6812 zcmeHMQE%HI5GIZ7WQp>yy=;G?f1r~rX|vzu}e}<*mwp{?Y|$kIl$PFXSJ$C zw7i%*4!G~`fa8Kt=l7{YA+#YhyG~e^Re362ROhm03c`h=Kf<7(z?^I1h*Jv0>O{m> zNmnHSR!DwVSPLw3Cbl*s!eYnt5@<;Y=Z7bp!|?T~Bv_Er<}I*zAlM8FL|K{jj+k;y zt(w&zQZBT@E$co_4C_N9wI_xXvAo6sTFfz}GexYo&jm>Y7AXTQH>wLnqFc<<1XcuY zcu(T$re7C6;BAxD-^*c24;}=j&8Ojd#LiJa+1oubgt z5jVi|*9XdSrZhHyPN$*PLGM3eT`UB|GOaRA@9{yAu@~n4BJ)>swac2?w)ZGLm!x2& zxMP&c(x5CQfuH%tJzt7dc$0XOM~B<{{VWOnsFI9 m4miNBJ}U$0bgr#&16O^aMD4I)zM+EKv=j;qJ*Doel=%xcymfp4 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Expect.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Expect.elmo new file mode 100644 index 0000000..7ade01c --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Expect.elmo @@ -0,0 +1,392 @@ +var _elm_community$elm_test$Expect$formatDiffs = F2( + function (diffType, diffs) { + if (_elm_lang$core$List$isEmpty(diffs)) { + return ''; + } else { + var modifier = function () { + var _p0 = diffType; + if (_p0.ctor === 'Extra') { + return '+'; + } else { + return '-'; + } + }(); + return function (d) { + return A2( + _elm_lang$core$Basics_ops['++'], + ' ', + A2( + _elm_lang$core$Basics_ops['++'], + modifier, + A2( + _elm_lang$core$Basics_ops['++'], + '[ ', + A2(_elm_lang$core$Basics_ops['++'], d, ' ]')))); + }( + A2( + _elm_lang$core$String$join, + ', ', + A2(_elm_lang$core$List$map, _elm_lang$core$Basics$toString, diffs))); + } + }); +var _elm_community$elm_test$Expect$reportFailure = F3( + function (comparison, expected, actual) { + return A2( + _elm_lang$core$String$join, + '\n', + { + ctor: '::', + _0: actual, + _1: { + ctor: '::', + _0: '╷', + _1: { + ctor: '::', + _0: A2(_elm_lang$core$Basics_ops['++'], '│ ', comparison), + _1: { + ctor: '::', + _0: '╵', + _1: { + ctor: '::', + _0: expected, + _1: {ctor: '[]'} + } + } + } + } + }); + }); +var _elm_community$elm_test$Expect$onFail = F2( + function (str, expectation) { + var _p1 = expectation; + if (_p1.ctor === 'Pass') { + return expectation; + } else { + return A2(_elm_community$elm_test$Test_Expectation$Fail, _p1._0, str); + } + }); +var _elm_community$elm_test$Expect$getFailure = function (expectation) { + var _p2 = expectation; + if (_p2.ctor === 'Pass') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just( + {given: _p2._0, message: _p2._1}); + } +}; +var _elm_community$elm_test$Expect$fail = _elm_community$elm_test$Test_Expectation$Fail(''); +var _elm_community$elm_test$Expect$pass = _elm_community$elm_test$Test_Expectation$Pass; +var _elm_community$elm_test$Expect$compareWith = F4( + function (label, compare, expected, actual) { + return A2(compare, actual, expected) ? _elm_community$elm_test$Expect$pass : _elm_community$elm_test$Expect$fail( + A3( + _elm_community$elm_test$Expect$reportFailure, + label, + _elm_lang$core$Basics$toString(expected), + _elm_lang$core$Basics$toString(actual))); + }); +var _elm_community$elm_test$Expect$allHelp = F2( + function (list, query) { + allHelp: + while (true) { + var _p3 = list; + if (_p3.ctor === '[]') { + return _elm_community$elm_test$Expect$pass; + } else { + var _p4 = _p3._0(query); + if (_p4.ctor === 'Pass') { + var _v5 = _p3._1, + _v6 = query; + list = _v5; + query = _v6; + continue allHelp; + } else { + return _p4; + } + } + } + }); +var _elm_community$elm_test$Expect$all = F2( + function (list, query) { + return _elm_lang$core$List$isEmpty(list) ? _elm_community$elm_test$Expect$fail('Expect.all received an empty list. I assume this was due to a mistake somewhere, so I\'m failing this test!') : A2(_elm_community$elm_test$Expect$allHelp, list, query); + }); +var _elm_community$elm_test$Expect$equalLists = F2( + function (expected, actual) { + if (_elm_lang$core$Native_Utils.eq(expected, actual)) { + return _elm_community$elm_test$Expect$pass; + } else { + var result = A2( + _elm_lang$core$Maybe$map, + function (_p5) { + var _p6 = _p5; + var _p9 = _p6._0; + var _p8 = _p6._2; + var _p7 = _p6._1; + return _elm_community$elm_test$Expect$fail( + A2( + _elm_lang$core$String$join, + '\n', + { + ctor: '::', + _0: _elm_lang$core$Basics$toString(actual), + _1: { + ctor: '::', + _0: A2( + _elm_lang$core$Basics_ops['++'], + 'first diff at index index ', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p9), + A2( + _elm_lang$core$Basics_ops['++'], + ': +`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p7), + A2( + _elm_lang$core$Basics_ops['++'], + '`, -`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p8), + '`')))))), + _1: { + ctor: '::', + _0: '╷', + _1: { + ctor: '::', + _0: '│ Expect.equalLists', + _1: { + ctor: '::', + _0: '╵', + _1: { + ctor: '::', + _0: A2( + _elm_lang$core$Basics_ops['++'], + 'first diff at index index ', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p9), + A2( + _elm_lang$core$Basics_ops['++'], + ': +`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p8), + A2( + _elm_lang$core$Basics_ops['++'], + '`, -`', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p7), + '`')))))), + _1: { + ctor: '::', + _0: _elm_lang$core$Basics$toString(expected), + _1: {ctor: '[]'} + } + } + } + } + } + } + })); + }, + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$filterMap, + function (_p10) { + var _p11 = _p10; + var _p13 = _p11._1._1; + var _p12 = _p11._1._0; + return _elm_lang$core$Native_Utils.eq(_p13, _p12) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just( + {ctor: '_Tuple3', _0: _p11._0, _1: _p12, _2: _p13}); + }, + A2( + _elm_lang$core$List$indexedMap, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + A3( + _elm_lang$core$List$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + actual, + expected))))); + var _p14 = result; + if (_p14.ctor === 'Just') { + return _p14._0; + } else { + var _p15 = A2( + _elm_lang$core$Basics$compare, + _elm_lang$core$List$length(actual), + _elm_lang$core$List$length(expected)); + switch (_p15.ctor) { + case 'GT': + return _elm_community$elm_test$Expect$fail( + A3( + _elm_community$elm_test$Expect$reportFailure, + 'Expect.equalLists was longer than', + _elm_lang$core$Basics$toString(expected), + _elm_lang$core$Basics$toString(actual))); + case 'LT': + return _elm_community$elm_test$Expect$fail( + A3( + _elm_community$elm_test$Expect$reportFailure, + 'Expect.equalLists was shorter than', + _elm_lang$core$Basics$toString(expected), + _elm_lang$core$Basics$toString(actual))); + default: + return _elm_community$elm_test$Expect$pass; + } + } + } + }); +var _elm_community$elm_test$Expect$false = F2( + function (message, bool) { + return bool ? _elm_community$elm_test$Expect$fail(message) : _elm_community$elm_test$Expect$pass; + }); +var _elm_community$elm_test$Expect$true = F2( + function (message, bool) { + return bool ? _elm_community$elm_test$Expect$pass : _elm_community$elm_test$Expect$fail(message); + }); +var _elm_community$elm_test$Expect$atLeast = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.atLeast', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) > -1; + })); +var _elm_community$elm_test$Expect$greaterThan = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.greaterThan', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) > 0; + })); +var _elm_community$elm_test$Expect$atMost = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.atMost', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) < 1; + })); +var _elm_community$elm_test$Expect$lessThan = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.lessThan', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.cmp(x, y) < 0; + })); +var _elm_community$elm_test$Expect$notEqual = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.notEqual', + F2( + function (x, y) { + return !_elm_lang$core$Native_Utils.eq(x, y); + })); +var _elm_community$elm_test$Expect$equal = A2( + _elm_community$elm_test$Expect$compareWith, + 'Expect.equal', + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.eq(x, y); + })); +var _elm_community$elm_test$Expect$Missing = {ctor: 'Missing'}; +var _elm_community$elm_test$Expect$Extra = {ctor: 'Extra'}; +var _elm_community$elm_test$Expect$reportCollectionFailure = F5( + function (comparison, expected, actual, missingKeys, extraKeys) { + return A2( + _elm_lang$core$String$join, + '\n', + { + ctor: '::', + _0: _elm_lang$core$Basics$toString(actual), + _1: { + ctor: '::', + _0: A2( + _elm_lang$core$Basics_ops['++'], + 'diff:', + A2( + _elm_lang$core$Basics_ops['++'], + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Missing, missingKeys), + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Extra, extraKeys))), + _1: { + ctor: '::', + _0: '╷', + _1: { + ctor: '::', + _0: A2(_elm_lang$core$Basics_ops['++'], '│ ', comparison), + _1: { + ctor: '::', + _0: '╵', + _1: { + ctor: '::', + _0: A2( + _elm_lang$core$Basics_ops['++'], + 'diff:', + A2( + _elm_lang$core$Basics_ops['++'], + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Extra, missingKeys), + A2(_elm_community$elm_test$Expect$formatDiffs, _elm_community$elm_test$Expect$Missing, extraKeys))), + _1: { + ctor: '::', + _0: _elm_lang$core$Basics$toString(expected), + _1: {ctor: '[]'} + } + } + } + } + } + } + }); + }); +var _elm_community$elm_test$Expect$equalDicts = F2( + function (expected, actual) { + if (_elm_lang$core$Native_Utils.eq( + _elm_lang$core$Dict$toList(expected), + _elm_lang$core$Dict$toList(actual))) { + return _elm_community$elm_test$Expect$pass; + } else { + var differ = F4( + function (dict, k, v, diffs) { + return _elm_lang$core$Native_Utils.eq( + A2(_elm_lang$core$Dict$get, k, dict), + _elm_lang$core$Maybe$Just(v)) ? diffs : { + ctor: '::', + _0: {ctor: '_Tuple2', _0: k, _1: v}, + _1: diffs + }; + }); + var missingKeys = A3( + _elm_lang$core$Dict$foldr, + differ(actual), + {ctor: '[]'}, + expected); + var extraKeys = A3( + _elm_lang$core$Dict$foldr, + differ(expected), + {ctor: '[]'}, + actual); + return _elm_community$elm_test$Expect$fail( + A5(_elm_community$elm_test$Expect$reportCollectionFailure, 'Expect.equalDicts', expected, actual, missingKeys, extraKeys)); + } + }); +var _elm_community$elm_test$Expect$equalSets = F2( + function (expected, actual) { + if (_elm_lang$core$Native_Utils.eq( + _elm_lang$core$Set$toList(expected), + _elm_lang$core$Set$toList(actual))) { + return _elm_community$elm_test$Expect$pass; + } else { + var extraKeys = _elm_lang$core$Set$toList( + A2(_elm_lang$core$Set$diff, actual, expected)); + var missingKeys = _elm_lang$core$Set$toList( + A2(_elm_lang$core$Set$diff, expected, actual)); + return _elm_community$elm_test$Expect$fail( + A5(_elm_community$elm_test$Expect$reportCollectionFailure, 'Expect.equalSets', expected, actual, missingKeys, extraKeys)); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz-Internal.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz-Internal.elmi new file mode 100644 index 0000000000000000000000000000000000000000..59971c57a2a5e8fb2c1ce277490e475b7caa361a GIT binary patch literal 2527 zcmd5-O>e?53{B~WItg~z|KJaBWYeZen}h)E9!g*pX@b)B0Ka}Mvy;|aMLBd@FJRZP z{ob=1##+xq%VKOIWHwE7mX#_kPVh3WorTB?ume0aF4d7IhZmtfxJ2i~I@d;s5xAr0 z@_ZHsERT3GDyXC29s2w#J%+D7O{xxHu`&Fy+2%Y?lbm?NC$TB_#2LJ$77iW{-}z}H zNMO8>yx3`zfgih~e*ZDsUJF^38xj&Nx!P*X?JpAAXS5V~DUo>WG+ydl)a;UGqg7Gy zLvw`d@+dJh!VYFLhUq-ce8k0C%(#fF0g%_~>=Mqkmi`D+^_nm|+?! z9%lFW0F^AJ3&ut*zAAUc}d_|6Mio!tg@djTsbS2bZWR ztliKMUH)D}f{f5@pmsyB8!MnpO?rBcAyC);7*=bBP4`0Br+(*fx>~~wq|4t63j(L= zP`jZPaM-?OZY=w+DMU`H5AgT%TeqD-jf>H9tPCUek0zqlRXliohi~9vBkKgZSb>lS Q8ivBL;BRj`=+FLq0nS!h1^@s6 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz-Internal.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz-Internal.elmo new file mode 100644 index 0000000..003bed5 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz-Internal.elmo @@ -0,0 +1,43 @@ +var _elm_community$elm_test$Fuzz_Internal$unpackGenTree = function (_p0) { + var _p1 = _p0; + var _p2 = _p1._0(false); + if (_p2.ctor === 'Shrink') { + return _p2._0; + } else { + return A2( + _elm_lang$core$Native_Utils.crash( + 'Fuzz.Internal', + { + start: {line: 58, column: 13}, + end: {line: 58, column: 24} + }), + 'This shouldn\'t happen: Fuzz.Internal.unpackGenTree', + _p2); + } +}; +var _elm_community$elm_test$Fuzz_Internal$unpackGenVal = function (_p3) { + var _p4 = _p3; + var _p5 = _p4._0(true); + if (_p5.ctor === 'Gen') { + return _p5._0; + } else { + return A2( + _elm_lang$core$Native_Utils.crash( + 'Fuzz.Internal', + { + start: {line: 48, column: 13}, + end: {line: 48, column: 24} + }), + 'This shouldn\'t happen: Fuzz.Internal.unpackGenVal', + _p5); + } +}; +var _elm_community$elm_test$Fuzz_Internal$Fuzzer = function (a) { + return {ctor: 'Fuzzer', _0: a}; +}; +var _elm_community$elm_test$Fuzz_Internal$Shrink = function (a) { + return {ctor: 'Shrink', _0: a}; +}; +var _elm_community$elm_test$Fuzz_Internal$Gen = function (a) { + return {ctor: 'Gen', _0: a}; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz.elmi new file mode 100644 index 0000000000000000000000000000000000000000..5553c4434dfb43a0166d25ee37b7e7f06da078a6 GIT binary patch literal 22955 zcmeHPQE%He5SC*}b&53$_5=33mjJ`szVvO)&}~4A7D=|(ftKmSs4Qi&yrTK_lkEF= zq-4c*99~z?d5Mmsb-cUpj^vS45IBF|IaCll)9Lgq$*0qKHYq<-<)AJs^{gcNd;BO) z=Cd-Nf*d4yHY-(zc0pLb1-0QY&r=XlUW{}BDok#aA);}bEAy+T3+h5;*BY(+6Xp<= z^V`(a#0%;<8ZOBfF8R`sg`Uk*!ziAW#U#5%?bBObBswdV#doT1Q5{y#KiPy~TGtqs zHNgy3HhRaecv6v9H#);xqN(~kG@=YDAswm1bYct;M5-th%o7}s3;p+8XNf5}H6`zh z^FqyTdc-AuGrzktiih=48~tp(7KQO^HJcQiTv%lWX;B(4lH zGH~yINFXcN#}_uFP&&BCXZotpur12t%bN;uABhQ<+BigMbY8_;`W0&j$$ZWJld*am?MLA2;8>#2VPVk0h)(dN>GT7xUzU#ZBS zM3x~8zhTe6a4Y%x6H`<+W=6o|FlwsQ{>dsJkrF`WKAUKX$5R^B5%a5YbDxFgU=~fU z^Av;XNj+mM7Nh0atr;c}r#r{d<6m{A3svTr3~mcasJc1iHt8N3_S9D|0cI&QCp<)o zg(KQ?fyUTR1BY$;#R?~_78z6*CVA1Et~rxqhp^DJEnwjic6ZlIT^O*B)@w*zuh9JA z2eJm?>xz$nrd);)vR-RS2w5+XM1{0gWY20LO)zD|_zBXiXR8aG4B%MnPwmV@K;_Jg zFoisbZ$(>-?^k6!TfMZjO9#v4r%49z%k3wAzMtc9S}ozvtQ-YE5q7NY2X*<1wSLD! zuodfSex!c%(Pd@Tvt3rMC%5kVH|YDH6a5LDKrea{%MaPfI*GW<%-xTJX08xgu?M)W z@feT^qBnI4P{5NL97#?)=h$q~p!Z)HR&uc;SH#6n{#vA|kQhA@Qx;HG1&=kp-oz)m zXybFu1dN$6uU2?kF@bcmgD%CYiZ2)WKYzgD?u+V*e5;k2?n+Vqe^Irsrmy#H{K*DK z4*Jz5g8;G}egtmbv~g=4YQI&m+@|s;;}?ov{siJU*Rew*faSG)Abg+H^ZVtp;WwS$ zc86|QY2|dgIRv9|GfCH^tuzY{ypPLaQ$_TveO)`T3lVxlkK0LxiR>iDAM}kt5}RVo zjKEA=_@-QOqJC%!ll`-&gha9i6+mbr5QQz!Eg@PXv^rN}%58*lX=3U}5~h_6J`xhi zf>lByS+okc-$>H^u!&i_Uv-kpxL1e!af6X*swJ#^@WcQMtA}K7M5b!8o+yDjSyvQ@ zEm|_RU{kq{E!DwL6EN1t7H+G}uf`GvKZKb>n5pKYy!sYd6Ul}d2|tpJGXjBgEEzb* zv}&hQ@&e+?#yx)majtBWO{&N~R__oT03qS97ld(9W9~33U}&5e_Ayf zlUU#~GXa4Pj=W2#O$00?oA2}|P|N*|-!kCMlO35b#gI_M?wxd^)ysCY!bd+Mf0{O0 zJVdKqocl2CSYp|pgLYleF_4pRQf4OLLy{Sxp7tkDE3%nDWYoEOV#whaPZBD5%PcMGG@q&(u56Q%{Ev z=rNyr>mE1~|B4#2`Fdvqd>l`#gjxmnP;CS*$7`M zShKad^(PRzKi|M`@bk41gcfH@sdawiKlgbEIkouabie;RB9gvROLMnfSHvgbyoF@n khG)TibK>`Vn|_jQ=pRJu%6x3uAp~VRsj~4`CD5~f0U?gW+yDRo literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz.elmo new file mode 100644 index 0000000..a0ca052 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Fuzz.elmo @@ -0,0 +1,1124 @@ +var _elm_community$elm_test$Fuzz$okOrCrash = function (result) { + var _p0 = result; + if (_p0.ctor === 'Ok') { + return _p0._0; + } else { + return _elm_lang$core$Native_Utils.crashCase( + 'Fuzz', + { + start: {line: 797, column: 5}, + end: {line: 802, column: 28} + }, + _p0)(_p0._0); + } +}; +var _elm_community$elm_test$Fuzz$frequency = function (list) { + return _elm_lang$core$List$isEmpty(list) ? _elm_lang$core$Result$Err('You must provide at least one frequency pair.') : (A2( + _elm_lang$core$List$any, + function (_p2) { + var _p3 = _p2; + return _elm_lang$core$Native_Utils.cmp(_p3._0, 0) < 0; + }, + list) ? _elm_lang$core$Result$Err('No frequency weights can be less than 0.') : ((_elm_lang$core$Native_Utils.cmp( + _elm_lang$core$List$sum( + A2(_elm_lang$core$List$map, _elm_lang$core$Tuple$first, list)), + 0) < 1) ? _elm_lang$core$Result$Err('Frequency weights must sum to more than 0.') : _elm_lang$core$Result$Ok( + _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + return noShrink ? _elm_community$elm_test$Fuzz_Internal$Gen( + _mgold$elm_random_pcg$Random_Pcg$frequency( + A2( + _elm_lang$core$List$map, + function (_p4) { + var _p5 = _p4; + return { + ctor: '_Tuple2', + _0: _p5._0, + _1: _elm_community$elm_test$Fuzz_Internal$unpackGenVal(_p5._1) + }; + }, + list))) : _elm_community$elm_test$Fuzz_Internal$Shrink( + _mgold$elm_random_pcg$Random_Pcg$frequency( + A2( + _elm_lang$core$List$map, + function (_p6) { + var _p7 = _p6; + return { + ctor: '_Tuple2', + _0: _p7._0, + _1: _elm_community$elm_test$Fuzz_Internal$unpackGenTree(_p7._1) + }; + }, + list))); + })))); +}; +var _elm_community$elm_test$Fuzz$frequencyOrCrash = function (_p8) { + return _elm_community$elm_test$Fuzz$okOrCrash( + _elm_community$elm_test$Fuzz$frequency(_p8)); +}; +var _elm_community$elm_test$Fuzz$unwindLazyList = function (lazyListOfGenerators) { + var _p9 = _elm_community$lazy_list$Lazy_List$headAndTail(lazyListOfGenerators); + if (_p9.ctor === 'Nothing') { + return _mgold$elm_random_pcg$Random_Pcg$constant(_elm_community$lazy_list$Lazy_List$empty); + } else { + return A3( + _mgold$elm_random_pcg$Random_Pcg$map2, + _elm_community$lazy_list$Lazy_List$cons, + _p9._0._0, + _elm_community$elm_test$Fuzz$unwindLazyList(_p9._0._1)); + } +}; +var _elm_community$elm_test$Fuzz$unwindRoseTree = function (_p10) { + var _p11 = _p10; + var _p13 = _p11._0; + var _p12 = _elm_community$lazy_list$Lazy_List$headAndTail(_p11._1); + if (_p12.ctor === 'Nothing') { + return A2(_mgold$elm_random_pcg$Random_Pcg$map, _elm_community$elm_test$RoseTree$singleton, _p13); + } else { + return A5( + _mgold$elm_random_pcg$Random_Pcg$map4, + F4( + function (a, b, c, d) { + return A2( + _elm_community$elm_test$RoseTree$Rose, + a, + A2( + _elm_community$lazy_list$Lazy_List$cons, + A2(_elm_community$elm_test$RoseTree$Rose, b, c), + d)); + }), + _p13, + _p12._0._0._0, + _elm_community$elm_test$Fuzz$unwindLazyList( + A2(_elm_community$lazy_list$Lazy_List$map, _elm_community$elm_test$Fuzz$unwindRoseTree, _p12._0._0._1)), + _elm_community$elm_test$Fuzz$unwindLazyList( + A2(_elm_community$lazy_list$Lazy_List$map, _elm_community$elm_test$Fuzz$unwindRoseTree, _p12._0._1))); + } +}; +var _elm_community$elm_test$Fuzz$andThenRoseTrees = F2( + function (transform, genTree) { + return A2( + _mgold$elm_random_pcg$Random_Pcg$andThen, + function (_p14) { + var _p15 = _p14; + var genOtherChildren = A2( + _mgold$elm_random_pcg$Random_Pcg$map, + _elm_community$lazy_list$Lazy_List$map(_elm_community$elm_test$RoseTree$flatten), + _elm_community$elm_test$Fuzz$unwindLazyList( + A2( + _elm_community$lazy_list$Lazy_List$map, + function (rt) { + return _elm_community$elm_test$Fuzz$unwindRoseTree( + A2( + _elm_community$elm_test$RoseTree$map, + function (_p16) { + return _elm_community$elm_test$Fuzz_Internal$unpackGenTree( + transform(_p16)); + }, + rt)); + }, + _p15._1))); + return A3( + _mgold$elm_random_pcg$Random_Pcg$map2, + F2( + function (_p17, otherChildren) { + var _p18 = _p17; + return A2( + _elm_community$elm_test$RoseTree$Rose, + _p18._0, + A2(_elm_community$lazy_list$Lazy_List$append, _p18._1, otherChildren)); + }), + _elm_community$elm_test$Fuzz_Internal$unpackGenTree( + transform(_p15._0)), + genOtherChildren); + }, + genTree); + }); +var _elm_community$elm_test$Fuzz$andThen = F2( + function (transform, _p19) { + var _p20 = _p19; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p21 = _p20._0(noShrink); + if (_p21.ctor === 'Gen') { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A2( + _mgold$elm_random_pcg$Random_Pcg$andThen, + function (_p22) { + return _elm_community$elm_test$Fuzz_Internal$unpackGenVal( + transform(_p22)); + }, + _p21._0)); + } else { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A2(_elm_community$elm_test$Fuzz$andThenRoseTrees, transform, _p21._0)); + } + }); + }); +var _elm_community$elm_test$Fuzz$map = F2( + function (transform, _p23) { + var _p24 = _p23; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p25 = _p24._0(noShrink); + if (_p25.ctor === 'Gen') { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A2(_mgold$elm_random_pcg$Random_Pcg$map, transform, _p25._0)); + } else { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A2( + _mgold$elm_random_pcg$Random_Pcg$map, + _elm_community$elm_test$RoseTree$map(transform), + _p25._0)); + } + }); + }); +var _elm_community$elm_test$Fuzz$constant = function (x) { + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + return noShrink ? _elm_community$elm_test$Fuzz_Internal$Gen( + _mgold$elm_random_pcg$Random_Pcg$constant(x)) : _elm_community$elm_test$Fuzz_Internal$Shrink( + _mgold$elm_random_pcg$Random_Pcg$constant( + _elm_community$elm_test$RoseTree$singleton(x))); + }); +}; +var _elm_community$elm_test$Fuzz$tupleShrinkHelp5 = F5( + function (rose1, rose2, rose3, rose4, rose5) { + var shrink5 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A5(_elm_community$elm_test$Fuzz$tupleShrinkHelp5, rose1, rose2, rose3, rose4, subtree); + }, + _elm_community$elm_test$RoseTree$children(rose5)); + var shrink4 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A5(_elm_community$elm_test$Fuzz$tupleShrinkHelp5, rose1, rose2, rose3, subtree, rose5); + }, + _elm_community$elm_test$RoseTree$children(rose4)); + var shrink3 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A5(_elm_community$elm_test$Fuzz$tupleShrinkHelp5, rose1, rose2, subtree, rose4, rose5); + }, + _elm_community$elm_test$RoseTree$children(rose3)); + var shrink2 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A5(_elm_community$elm_test$Fuzz$tupleShrinkHelp5, rose1, subtree, rose3, rose4, rose5); + }, + _elm_community$elm_test$RoseTree$children(rose2)); + var shrink1 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A5(_elm_community$elm_test$Fuzz$tupleShrinkHelp5, subtree, rose2, rose3, rose4, rose5); + }, + _elm_community$elm_test$RoseTree$children(rose1)); + var root = { + ctor: '_Tuple5', + _0: _elm_community$elm_test$RoseTree$root(rose1), + _1: _elm_community$elm_test$RoseTree$root(rose2), + _2: _elm_community$elm_test$RoseTree$root(rose3), + _3: _elm_community$elm_test$RoseTree$root(rose4), + _4: _elm_community$elm_test$RoseTree$root(rose5) + }; + return A2( + _elm_community$elm_test$RoseTree$Rose, + root, + A2( + _elm_community$lazy_list$Lazy_List$append, + shrink1, + A2( + _elm_community$lazy_list$Lazy_List$append, + shrink2, + A2( + _elm_community$lazy_list$Lazy_List$append, + shrink3, + A2(_elm_community$lazy_list$Lazy_List$append, shrink4, shrink5))))); + }); +var _elm_community$elm_test$Fuzz$tuple5 = function (_p26) { + var _p27 = _p26; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p28 = { + ctor: '_Tuple5', + _0: _p27._0._0(noShrink), + _1: _p27._1._0(noShrink), + _2: _p27._2._0(noShrink), + _3: _p27._3._0(noShrink), + _4: _p27._4._0(noShrink) + }; + _v14_2: + do { + if (_p28.ctor === '_Tuple5') { + if (_p28._0.ctor === 'Gen') { + if ((((_p28._1.ctor === 'Gen') && (_p28._2.ctor === 'Gen')) && (_p28._3.ctor === 'Gen')) && (_p28._4.ctor === 'Gen')) { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A6( + _mgold$elm_random_pcg$Random_Pcg$map5, + F5( + function (v0, v1, v2, v3, v4) { + return {ctor: '_Tuple5', _0: v0, _1: v1, _2: v2, _3: v3, _4: v4}; + }), + _p28._0._0, + _p28._1._0, + _p28._2._0, + _p28._3._0, + _p28._4._0)); + } else { + break _v14_2; + } + } else { + if ((((_p28._1.ctor === 'Shrink') && (_p28._2.ctor === 'Shrink')) && (_p28._3.ctor === 'Shrink')) && (_p28._4.ctor === 'Shrink')) { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A6(_mgold$elm_random_pcg$Random_Pcg$map5, _elm_community$elm_test$Fuzz$tupleShrinkHelp5, _p28._0._0, _p28._1._0, _p28._2._0, _p28._3._0, _p28._4._0)); + } else { + break _v14_2; + } + } + } else { + break _v14_2; + } + } while(false); + return A2( + _elm_lang$core$Native_Utils.crash( + 'Fuzz', + { + start: {line: 573, column: 21}, + end: {line: 573, column: 32} + }), + 'This shouldn\'t happen: Fuzz.tuple5', + _p28); + }); +}; +var _elm_community$elm_test$Fuzz$map5 = F6( + function (transform, fuzzA, fuzzB, fuzzC, fuzzD, fuzzE) { + return A2( + _elm_community$elm_test$Fuzz$map, + function (_p29) { + var _p30 = _p29; + return A5(transform, _p30._0, _p30._1, _p30._2, _p30._3, _p30._4); + }, + _elm_community$elm_test$Fuzz$tuple5( + {ctor: '_Tuple5', _0: fuzzA, _1: fuzzB, _2: fuzzC, _3: fuzzD, _4: fuzzE})); + }); +var _elm_community$elm_test$Fuzz$tupleShrinkHelp4 = F4( + function (rose1, rose2, rose3, rose4) { + var shrink4 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A4(_elm_community$elm_test$Fuzz$tupleShrinkHelp4, rose1, rose2, rose3, subtree); + }, + _elm_community$elm_test$RoseTree$children(rose4)); + var shrink3 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A4(_elm_community$elm_test$Fuzz$tupleShrinkHelp4, rose1, rose2, subtree, rose4); + }, + _elm_community$elm_test$RoseTree$children(rose3)); + var shrink2 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A4(_elm_community$elm_test$Fuzz$tupleShrinkHelp4, rose1, subtree, rose3, rose4); + }, + _elm_community$elm_test$RoseTree$children(rose2)); + var shrink1 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A4(_elm_community$elm_test$Fuzz$tupleShrinkHelp4, subtree, rose2, rose3, rose4); + }, + _elm_community$elm_test$RoseTree$children(rose1)); + var root = { + ctor: '_Tuple4', + _0: _elm_community$elm_test$RoseTree$root(rose1), + _1: _elm_community$elm_test$RoseTree$root(rose2), + _2: _elm_community$elm_test$RoseTree$root(rose3), + _3: _elm_community$elm_test$RoseTree$root(rose4) + }; + return A2( + _elm_community$elm_test$RoseTree$Rose, + root, + A2( + _elm_community$lazy_list$Lazy_List$append, + shrink1, + A2( + _elm_community$lazy_list$Lazy_List$append, + shrink2, + A2(_elm_community$lazy_list$Lazy_List$append, shrink3, shrink4)))); + }); +var _elm_community$elm_test$Fuzz$tuple4 = function (_p31) { + var _p32 = _p31; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p33 = { + ctor: '_Tuple4', + _0: _p32._0._0(noShrink), + _1: _p32._1._0(noShrink), + _2: _p32._2._0(noShrink), + _3: _p32._3._0(noShrink) + }; + _v17_2: + do { + if (_p33.ctor === '_Tuple4') { + if (_p33._0.ctor === 'Gen') { + if (((_p33._1.ctor === 'Gen') && (_p33._2.ctor === 'Gen')) && (_p33._3.ctor === 'Gen')) { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A5( + _mgold$elm_random_pcg$Random_Pcg$map4, + F4( + function (v0, v1, v2, v3) { + return {ctor: '_Tuple4', _0: v0, _1: v1, _2: v2, _3: v3}; + }), + _p33._0._0, + _p33._1._0, + _p33._2._0, + _p33._3._0)); + } else { + break _v17_2; + } + } else { + if (((_p33._1.ctor === 'Shrink') && (_p33._2.ctor === 'Shrink')) && (_p33._3.ctor === 'Shrink')) { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A5(_mgold$elm_random_pcg$Random_Pcg$map4, _elm_community$elm_test$Fuzz$tupleShrinkHelp4, _p33._0._0, _p33._1._0, _p33._2._0, _p33._3._0)); + } else { + break _v17_2; + } + } + } else { + break _v17_2; + } + } while(false); + return A2( + _elm_lang$core$Native_Utils.crash( + 'Fuzz', + { + start: {line: 530, column: 21}, + end: {line: 530, column: 32} + }), + 'This shouldn\'t happen: Fuzz.tuple4', + _p33); + }); +}; +var _elm_community$elm_test$Fuzz$map4 = F5( + function (transform, fuzzA, fuzzB, fuzzC, fuzzD) { + return A2( + _elm_community$elm_test$Fuzz$map, + function (_p34) { + var _p35 = _p34; + return A4(transform, _p35._0, _p35._1, _p35._2, _p35._3); + }, + _elm_community$elm_test$Fuzz$tuple4( + {ctor: '_Tuple4', _0: fuzzA, _1: fuzzB, _2: fuzzC, _3: fuzzD})); + }); +var _elm_community$elm_test$Fuzz$tupleShrinkHelp3 = F3( + function (_p38, _p37, _p36) { + var _p39 = _p38; + var _p44 = _p39; + var _p40 = _p37; + var _p43 = _p40; + var _p41 = _p36; + var _p42 = _p41; + var shrink3 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A3(_elm_community$elm_test$Fuzz$tupleShrinkHelp3, _p44, _p43, subtree); + }, + _p41._1); + var shrink2 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A3(_elm_community$elm_test$Fuzz$tupleShrinkHelp3, _p44, subtree, _p42); + }, + _p40._1); + var shrink1 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A3(_elm_community$elm_test$Fuzz$tupleShrinkHelp3, subtree, _p43, _p42); + }, + _p39._1); + var root = {ctor: '_Tuple3', _0: _p39._0, _1: _p40._0, _2: _p41._0}; + return A2( + _elm_community$elm_test$RoseTree$Rose, + root, + A2( + _elm_community$lazy_list$Lazy_List$append, + shrink1, + A2(_elm_community$lazy_list$Lazy_List$append, shrink2, shrink3))); + }); +var _elm_community$elm_test$Fuzz$tuple3 = function (_p45) { + var _p46 = _p45; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p47 = { + ctor: '_Tuple3', + _0: _p46._0._0(noShrink), + _1: _p46._1._0(noShrink), + _2: _p46._2._0(noShrink) + }; + _v23_2: + do { + if (_p47.ctor === '_Tuple3') { + if (_p47._0.ctor === 'Gen') { + if ((_p47._1.ctor === 'Gen') && (_p47._2.ctor === 'Gen')) { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A4( + _mgold$elm_random_pcg$Random_Pcg$map3, + F3( + function (v0, v1, v2) { + return {ctor: '_Tuple3', _0: v0, _1: v1, _2: v2}; + }), + _p47._0._0, + _p47._1._0, + _p47._2._0)); + } else { + break _v23_2; + } + } else { + if ((_p47._1.ctor === 'Shrink') && (_p47._2.ctor === 'Shrink')) { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A4(_mgold$elm_random_pcg$Random_Pcg$map3, _elm_community$elm_test$Fuzz$tupleShrinkHelp3, _p47._0._0, _p47._1._0, _p47._2._0)); + } else { + break _v23_2; + } + } + } else { + break _v23_2; + } + } while(false); + return A2( + _elm_lang$core$Native_Utils.crash( + 'Fuzz', + { + start: {line: 491, column: 21}, + end: {line: 491, column: 32} + }), + 'This shouldn\'t happen: Fuzz.tuple3', + _p47); + }); +}; +var _elm_community$elm_test$Fuzz$map3 = F4( + function (transform, fuzzA, fuzzB, fuzzC) { + return A2( + _elm_community$elm_test$Fuzz$map, + function (_p48) { + var _p49 = _p48; + return A3(transform, _p49._0, _p49._1, _p49._2); + }, + _elm_community$elm_test$Fuzz$tuple3( + {ctor: '_Tuple3', _0: fuzzA, _1: fuzzB, _2: fuzzC})); + }); +var _elm_community$elm_test$Fuzz$tupleShrinkHelp = F2( + function (_p51, _p50) { + var _p52 = _p51; + var _p53 = _p50; + var shrink2 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A2(_elm_community$elm_test$Fuzz$tupleShrinkHelp, _p52, subtree); + }, + _p53._1); + var shrink1 = A2( + _elm_community$lazy_list$Lazy_List$map, + function (subtree) { + return A2(_elm_community$elm_test$Fuzz$tupleShrinkHelp, subtree, _p53); + }, + _p52._1); + var root = {ctor: '_Tuple2', _0: _p52._0, _1: _p53._0}; + return A2( + _elm_community$elm_test$RoseTree$Rose, + root, + A2(_elm_community$lazy_list$Lazy_List$append, shrink1, shrink2)); + }); +var _elm_community$elm_test$Fuzz$tuple = function (_p54) { + var _p55 = _p54; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p56 = { + ctor: '_Tuple2', + _0: _p55._0._0(noShrink), + _1: _p55._1._0(noShrink) + }; + _v28_2: + do { + if (_p56.ctor === '_Tuple2') { + if (_p56._0.ctor === 'Gen') { + if (_p56._1.ctor === 'Gen') { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A3( + _mgold$elm_random_pcg$Random_Pcg$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + _p56._0._0, + _p56._1._0)); + } else { + break _v28_2; + } + } else { + if (_p56._1.ctor === 'Shrink') { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A3(_mgold$elm_random_pcg$Random_Pcg$map2, _elm_community$elm_test$Fuzz$tupleShrinkHelp, _p56._0._0, _p56._1._0)); + } else { + break _v28_2; + } + } + } else { + break _v28_2; + } + } while(false); + return A2( + _elm_lang$core$Native_Utils.crash( + 'Fuzz', + { + start: {line: 449, column: 21}, + end: {line: 449, column: 32} + }), + 'This shouldn\'t happen: Fuzz.tuple', + _p56); + }); +}; +var _elm_community$elm_test$Fuzz$map2 = F3( + function (transform, fuzzA, fuzzB) { + return A2( + _elm_community$elm_test$Fuzz$map, + function (_p57) { + var _p58 = _p57; + return A2(transform, _p58._0, _p58._1); + }, + _elm_community$elm_test$Fuzz$tuple( + {ctor: '_Tuple2', _0: fuzzA, _1: fuzzB})); + }); +var _elm_community$elm_test$Fuzz$andMap = _elm_community$elm_test$Fuzz$map2( + F2( + function (x, y) { + return y(x); + })); +var _elm_community$elm_test$Fuzz$listShrinkHelp = function (listOfTrees) { + var shorter = F3( + function (windowSize, aList, recursing) { + if ((_elm_lang$core$Native_Utils.cmp( + windowSize, + _elm_lang$core$List$length(aList)) > 0) || (_elm_lang$core$Native_Utils.eq( + windowSize, + _elm_lang$core$List$length(aList)) && (!recursing))) { + return _elm_community$lazy_list$Lazy_List$empty; + } else { + var _p59 = aList; + if (_p59.ctor === '[]') { + return _elm_community$lazy_list$Lazy_List$empty; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$cons, + A2(_elm_lang$core$List$take, windowSize, aList), + A3(shorter, windowSize, _p59._1, true)); + } + } + }); + var shrinkOne = F2( + function (prefix, list) { + var _p60 = list; + if (_p60.ctor === '[]') { + return _elm_community$lazy_list$Lazy_List$empty; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$map, + function (childTree) { + return _elm_community$elm_test$Fuzz$listShrinkHelp( + A2( + _elm_lang$core$Basics_ops['++'], + prefix, + {ctor: '::', _0: childTree, _1: _p60._1})); + }, + _p60._0._1); + } + }); + var root = A2(_elm_lang$core$List$map, _elm_community$elm_test$RoseTree$root, listOfTrees); + var n = _elm_lang$core$List$length(listOfTrees); + var shrunkenVals = A2( + _elm_community$lazy_list$Lazy_List$andThen, + function (i) { + return A2( + shrinkOne, + A2(_elm_lang$core$List$take, i, listOfTrees), + A2(_elm_lang$core$List$drop, i, listOfTrees)); + }, + A2( + _elm_community$lazy_list$Lazy_List$take, + n, + A2( + _elm_community$lazy_list$Lazy_List$map, + function (i) { + return i - 1; + }, + _elm_community$lazy_list$Lazy_List$numbers))); + var shortened = A2( + _elm_community$lazy_list$Lazy_List$map, + _elm_community$elm_test$Fuzz$listShrinkHelp, + A2( + _elm_community$lazy_list$Lazy_List$andThen, + function (len) { + return A3(shorter, len, listOfTrees, false); + }, + (_elm_lang$core$Native_Utils.cmp(n, 6) > 0) ? A2( + _elm_community$lazy_list$Lazy_List$takeWhile, + function (x) { + return _elm_lang$core$Native_Utils.cmp(x, 0) > 0; + }, + A2( + _elm_community$lazy_list$Lazy_List$iterate, + function (n) { + return (n / 2) | 0; + }, + n)) : _elm_community$lazy_list$Lazy_List$fromList( + A2(_elm_lang$core$List$range, 1, n)))); + return A2( + _elm_community$elm_test$RoseTree$Rose, + root, + A2( + _elm_community$lazy_list$Lazy_List$cons, + _elm_community$elm_test$RoseTree$singleton( + {ctor: '[]'}), + A2(_elm_community$lazy_list$Lazy_List$append, shortened, shrunkenVals))); +}; +var _elm_community$elm_test$Fuzz$list = function (_p61) { + var _p62 = _p61; + var genLength = _mgold$elm_random_pcg$Random_Pcg$frequency( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(0) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(1) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 3, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, 2, 10) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 2, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, 10, 100) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 0.5, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, 100, 400) + }, + _1: {ctor: '[]'} + } + } + } + } + }); + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p63 = _p62._0(noShrink); + if (_p63.ctor === 'Gen') { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A2( + _mgold$elm_random_pcg$Random_Pcg$andThen, + function (i) { + return A2(_mgold$elm_random_pcg$Random_Pcg$list, i, _p63._0); + }, + genLength)); + } else { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A2( + _mgold$elm_random_pcg$Random_Pcg$map, + _elm_community$elm_test$Fuzz$listShrinkHelp, + A2( + _mgold$elm_random_pcg$Random_Pcg$andThen, + function (i) { + return A2(_mgold$elm_random_pcg$Random_Pcg$list, i, _p63._0); + }, + genLength))); + } + }); +}; +var _elm_community$elm_test$Fuzz$array = function (fuzzer) { + return A2( + _elm_community$elm_test$Fuzz$map, + _elm_lang$core$Array$fromList, + _elm_community$elm_test$Fuzz$list(fuzzer)); +}; +var _elm_community$elm_test$Fuzz$result = F2( + function (_p65, _p64) { + var _p66 = _p65; + var _p67 = _p64; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p68 = { + ctor: '_Tuple2', + _0: _p66._0(noShrink), + _1: _p67._0(noShrink) + }; + _v36_2: + do { + if (_p68.ctor === '_Tuple2') { + if (_p68._0.ctor === 'Gen') { + if (_p68._1.ctor === 'Gen') { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A4( + _mgold$elm_random_pcg$Random_Pcg$map3, + F3( + function (useError, err, val) { + return useError ? _elm_lang$core$Result$Err(err) : _elm_lang$core$Result$Ok(val); + }), + _mgold$elm_random_pcg$Random_Pcg$oneIn(4), + _p68._0._0, + _p68._1._0)); + } else { + break _v36_2; + } + } else { + if (_p68._1.ctor === 'Shrink') { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A4( + _mgold$elm_random_pcg$Random_Pcg$map3, + F3( + function (useError, errorTree, valueTree) { + return useError ? A2(_elm_community$elm_test$RoseTree$map, _elm_lang$core$Result$Err, errorTree) : A2(_elm_community$elm_test$RoseTree$map, _elm_lang$core$Result$Ok, valueTree); + }), + _mgold$elm_random_pcg$Random_Pcg$oneIn(4), + _p68._0._0, + _p68._1._0)); + } else { + break _v36_2; + } + } + } else { + break _v36_2; + } + } while(false); + return A2( + _elm_lang$core$Native_Utils.crash( + 'Fuzz', + { + start: {line: 335, column: 21}, + end: {line: 335, column: 32} + }), + 'This shouldn\'t happen: Fuzz.result', + _p68); + }); + }); +var _elm_community$elm_test$Fuzz$maybe = function (_p69) { + var _p70 = _p69; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + var _p71 = _p70._0(noShrink); + if (_p71.ctor === 'Gen') { + return _elm_community$elm_test$Fuzz_Internal$Gen( + A3( + _mgold$elm_random_pcg$Random_Pcg$map2, + F2( + function (useNothing, val) { + return useNothing ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just(val); + }), + _mgold$elm_random_pcg$Random_Pcg$oneIn(4), + _p71._0)); + } else { + return _elm_community$elm_test$Fuzz_Internal$Shrink( + A3( + _mgold$elm_random_pcg$Random_Pcg$map2, + F2( + function (useNothing, tree) { + return useNothing ? _elm_community$elm_test$RoseTree$singleton(_elm_lang$core$Maybe$Nothing) : A2( + _elm_community$elm_test$RoseTree$addChild, + _elm_community$elm_test$RoseTree$singleton(_elm_lang$core$Maybe$Nothing), + A2(_elm_community$elm_test$RoseTree$map, _elm_lang$core$Maybe$Just, tree)); + }), + _mgold$elm_random_pcg$Random_Pcg$oneIn(4), + _p71._0)); + } + }); +}; +var _elm_community$elm_test$Fuzz$charGenerator = A2( + _mgold$elm_random_pcg$Random_Pcg$map, + _elm_lang$core$Char$fromCode, + A2(_mgold$elm_random_pcg$Random_Pcg$int, 32, 126)); +var _elm_community$elm_test$Fuzz$unit = _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + return noShrink ? _elm_community$elm_test$Fuzz_Internal$Gen( + _mgold$elm_random_pcg$Random_Pcg$constant( + {ctor: '_Tuple0'})) : _elm_community$elm_test$Fuzz_Internal$Shrink( + _mgold$elm_random_pcg$Random_Pcg$constant( + _elm_community$elm_test$RoseTree$singleton( + {ctor: '_Tuple0'}))); + }); +var _elm_community$elm_test$Fuzz$custom = F2( + function (generator, shrinker) { + var shrinkTree = function (a) { + return A2( + _elm_community$elm_test$RoseTree$Rose, + a, + A2( + _elm_community$lazy_list$Lazy_List$map, + shrinkTree, + shrinker(a))); + }; + return _elm_community$elm_test$Fuzz_Internal$Fuzzer( + function (noShrink) { + return noShrink ? _elm_community$elm_test$Fuzz_Internal$Gen(generator) : _elm_community$elm_test$Fuzz_Internal$Shrink( + A2(_mgold$elm_random_pcg$Random_Pcg$map, shrinkTree, generator)); + }); + }); +var _elm_community$elm_test$Fuzz$bool = A2(_elm_community$elm_test$Fuzz$custom, _mgold$elm_random_pcg$Random_Pcg$bool, _elm_community$shrink$Shrink$bool); +var _elm_community$elm_test$Fuzz$order = function () { + var intToOrder = function (i) { + return _elm_lang$core$Native_Utils.eq(i, 0) ? _elm_lang$core$Basics$LT : (_elm_lang$core$Native_Utils.eq(i, 1) ? _elm_lang$core$Basics$EQ : _elm_lang$core$Basics$GT); + }; + return A2( + _elm_community$elm_test$Fuzz$custom, + A2( + _mgold$elm_random_pcg$Random_Pcg$map, + intToOrder, + A2(_mgold$elm_random_pcg$Random_Pcg$int, 0, 2)), + _elm_community$shrink$Shrink$order); +}(); +var _elm_community$elm_test$Fuzz$int = function () { + var generator = _mgold$elm_random_pcg$Random_Pcg$frequency( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 3, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, -50, 50) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 0.2, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(0) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, 0, _mgold$elm_random_pcg$Random_Pcg$maxInt - _mgold$elm_random_pcg$Random_Pcg$minInt) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, _mgold$elm_random_pcg$Random_Pcg$minInt - _mgold$elm_random_pcg$Random_Pcg$maxInt, 0) + }, + _1: {ctor: '[]'} + } + } + } + }); + return A2(_elm_community$elm_test$Fuzz$custom, generator, _elm_community$shrink$Shrink$int); +}(); +var _elm_community$elm_test$Fuzz$intRange = F2( + function (lo, hi) { + return A2( + _elm_community$elm_test$Fuzz$custom, + _mgold$elm_random_pcg$Random_Pcg$frequency( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 8, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, lo, hi) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(lo) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(hi) + }, + _1: {ctor: '[]'} + } + } + }), + A2( + _elm_community$shrink$Shrink$keepIf, + function (i) { + return (_elm_lang$core$Native_Utils.cmp(i, lo) > -1) && (_elm_lang$core$Native_Utils.cmp(i, hi) < 1); + }, + _elm_community$shrink$Shrink$int)); + }); +var _elm_community$elm_test$Fuzz$float = function () { + var generator = _mgold$elm_random_pcg$Random_Pcg$frequency( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 3, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$float, -50, 50) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 0.5, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(0) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$float, -1, 1) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: A2( + _mgold$elm_random_pcg$Random_Pcg$float, + 0, + _elm_lang$core$Basics$toFloat(_mgold$elm_random_pcg$Random_Pcg$maxInt - _mgold$elm_random_pcg$Random_Pcg$minInt)) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: A2( + _mgold$elm_random_pcg$Random_Pcg$float, + _elm_lang$core$Basics$toFloat(_mgold$elm_random_pcg$Random_Pcg$minInt - _mgold$elm_random_pcg$Random_Pcg$maxInt), + 0) + }, + _1: {ctor: '[]'} + } + } + } + } + }); + return A2(_elm_community$elm_test$Fuzz$custom, generator, _elm_community$shrink$Shrink$float); +}(); +var _elm_community$elm_test$Fuzz$floatRange = F2( + function (lo, hi) { + return A2( + _elm_community$elm_test$Fuzz$custom, + _mgold$elm_random_pcg$Random_Pcg$frequency( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 8, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$float, lo, hi) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(lo) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(hi) + }, + _1: {ctor: '[]'} + } + } + }), + A2( + _elm_community$shrink$Shrink$keepIf, + function (i) { + return (_elm_lang$core$Native_Utils.cmp(i, lo) > -1) && (_elm_lang$core$Native_Utils.cmp(i, hi) < 1); + }, + _elm_community$shrink$Shrink$float)); + }); +var _elm_community$elm_test$Fuzz$percentage = function () { + var generator = _mgold$elm_random_pcg$Random_Pcg$frequency( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 8, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$float, 0, 1) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(0) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(1) + }, + _1: {ctor: '[]'} + } + } + }); + return A2(_elm_community$elm_test$Fuzz$custom, generator, _elm_community$shrink$Shrink$float); +}(); +var _elm_community$elm_test$Fuzz$char = A2(_elm_community$elm_test$Fuzz$custom, _elm_community$elm_test$Fuzz$charGenerator, _elm_community$shrink$Shrink$character); +var _elm_community$elm_test$Fuzz$string = function () { + var generator = A2( + _mgold$elm_random_pcg$Random_Pcg$andThen, + _elm_community$elm_test$Util$lengthString(_elm_community$elm_test$Fuzz$charGenerator), + _mgold$elm_random_pcg$Random_Pcg$frequency( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 3, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, 1, 10) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 0.2, + _1: _mgold$elm_random_pcg$Random_Pcg$constant(0) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, 11, 50) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 1, + _1: A2(_mgold$elm_random_pcg$Random_Pcg$int, 50, 1000) + }, + _1: {ctor: '[]'} + } + } + } + })); + return A2(_elm_community$elm_test$Fuzz$custom, generator, _elm_community$shrink$Shrink$string); +}(); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/RoseTree.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/RoseTree.elmi new file mode 100644 index 0000000000000000000000000000000000000000..6ebe80063f2b0cdbb6bd2eb24d67a54bae3bfdc8 GIT binary patch literal 3334 zcmeHJ!EVAZ3{7YYLEA3-4}O5-*pW#SpxsjltWru*n`&ZTzjn<_+R%*)nZ~qUn%J(N z{p_SBr1RW&c7)ssnNHSOnwI-S9kr6xLL~~N_oD$6i>wfSBd zD%(R8=2-@3gsoo_xygmmGQQc&Y8lLflpnAjZ6#OA7~g0)kcSVvNY;fTjUGi@?z9lW zhjadp48wV1vV*HWS@gt@F*1W8d#*y-W_juWxbk3@A|=FdVzMk_C-&h&6r}`Pz#J}B zUa{)fMyv855gtQ0(<#Acl#>A1q?4evIBTH&Hbu7IkqGPFCK}6%?uoQKBaW}?!0P(+ z)P?e3@GX+tt}td!x4L@@L&~Xz`1B^Z;X17IaCq;g(9&Bsm*M0VoV+CB4MCg%xd0vh z5p*v0=>Gtue+d5w;LY5j{vrR5c};rz$hU5bt3KwsnanTNS1BO9zsAe{59pQi(N5qrIBWkk*C$l~8hu<2D)-XsvS4hnlFmg; z%%nDmGK_~#+|#LaItLYK?_FhK&!}RdD^(S7DX*Dg#Qw@i|5+Yw#G#kt-8Z|tN7;mo zMNikt1%viLNV@SyU2w_0Z8#Xn6Ua505ZpSFx{ybW0&B)yLX7*@=PDW$aUenDhn`<- w>yc=A_ZH}P1pX^oJ)FerrKf9ndIC0qEzORMs`%Ughr8Qf&U43*=L8r=ub{f}OD?5$~6Y(NGSN$!JUE3Hu34s01%^Xun0q(rN3(l&8{ zHJ4a4P4YcGQ#50p-?z?+u`fbp=Sh)ebuRTI+>AFyEh-IbA0LXB^?E(GH(0ckN{ey? z4gtA`4^i96gfD~=DY%DYu9JHVeg+pF{6}M6$)s|u;k8)QcaAZ*mI)S%j|VqRt>9wMxes~1j` zXv*`nz}Wt6;&KvAMO7=8m3UfIVqOZj*l4CpnPUvBgYMm@AAeUO(OkcF$Kvve=soO!+(=e8Tppv-?1KRb8FYen`MJ7p29k%%JiScQW_m!*U(|Hb*`0RW zwTF%#f7gvWLigUoDPgRg<`p-?U62$d4r_>?4$$=a{hN~A>Hn*4rz6pc66M|ZMdVp2 pe6TSIP@CCyyBgXzE(aQoYb-)(e&B6s;4y6t`O9IeToIdSjK?yT_)j zxw_}MsJaDAt+bRpuLNFW*h%{x(ULr#&_5f@i7jm>H(V9Zuysif5&fq(yeo^&lO}f} z*H4}>{ql1s3M2>v%lpzK4O#MyzvKuX!t9~qs?V3qA}L=U-_{6yQe~}k&q})Da@)Xm z{7}4!ekD3x`O&9q)t1uNU5+q93}adLRVvX+UU?NtHhO1ZJ4b}q*9U+;(rq?c&19BRGM$Tf81R|N?@VSXoy-h!Xg|hsXu~e($>v$h zAI$I%JNrI#_@~*L?qbg|T$K%2b1Vv-uBjs-_F?-@@~0!iMoMm?KpL))p{X zu+xD)P>cg2_ozp4rameHz~(yiVKH~VeIyIO2ZlPmEUtfd<$NSX6C*Ki2ta`S0^Fi9 A^Z)<= literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Runner.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Runner.elmo new file mode 100644 index 0000000..3889a6f --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test-Runner.elmo @@ -0,0 +1,159 @@ +var _elm_community$elm_test$Test_Runner$formatLabels = F3( + function (formatDescription, formatTest, labels) { + var _p1 = A2( + _elm_lang$core$List$filter, + function (_p0) { + return !_elm_lang$core$String$isEmpty(_p0); + }, + labels); + if (_p1.ctor === '[]') { + return {ctor: '[]'}; + } else { + return _elm_lang$core$List$reverse( + A2( + F2( + function (x, y) { + return {ctor: '::', _0: x, _1: y}; + }), + formatTest(_p1._0), + A2(_elm_lang$core$List$map, formatDescription, _p1._1))); + } + }); +var _elm_community$elm_test$Test_Runner$run = function (_p2) { + var _p3 = _p2; + return _p3._0( + {ctor: '_Tuple0'}); +}; +var _elm_community$elm_test$Test_Runner$Thunk = function (a) { + return {ctor: 'Thunk', _0: a}; +}; +var _elm_community$elm_test$Test_Runner$Batch = function (a) { + return {ctor: 'Batch', _0: a}; +}; +var _elm_community$elm_test$Test_Runner$Labeled = F2( + function (a, b) { + return {ctor: 'Labeled', _0: a, _1: b}; + }); +var _elm_community$elm_test$Test_Runner$Runnable = function (a) { + return {ctor: 'Runnable', _0: a}; +}; +var _elm_community$elm_test$Test_Runner$distributeSeeds = F3( + function (runs, test, _p4) { + var _p5 = _p4; + var _p13 = _p5._0; + var _p12 = _p5._1; + var _p6 = test; + switch (_p6.ctor) { + case 'Test': + var _p7 = A2(_mgold$elm_random_pcg$Random_Pcg$step, _mgold$elm_random_pcg$Random_Pcg$independentSeed, _p13); + var seed = _p7._0; + var nextSeed = _p7._1; + return { + ctor: '_Tuple2', + _0: nextSeed, + _1: A2( + _elm_lang$core$Basics_ops['++'], + _p12, + { + ctor: '::', + _0: _elm_community$elm_test$Test_Runner$Runnable( + _elm_community$elm_test$Test_Runner$Thunk( + function (_p8) { + var _p9 = _p8; + return A2(_p6._0, seed, runs); + })), + _1: {ctor: '[]'} + }) + }; + case 'Labeled': + var _p10 = A3( + _elm_community$elm_test$Test_Runner$distributeSeeds, + runs, + _p6._1, + { + ctor: '_Tuple2', + _0: _p13, + _1: {ctor: '[]'} + }); + var nextSeed = _p10._0; + var nextRunners = _p10._1; + var finalRunners = A2( + _elm_lang$core$List$map, + _elm_community$elm_test$Test_Runner$Labeled(_p6._0), + nextRunners); + return { + ctor: '_Tuple2', + _0: nextSeed, + _1: A2(_elm_lang$core$Basics_ops['++'], _p12, finalRunners) + }; + default: + var _p11 = A3( + _elm_lang$core$List$foldl, + _elm_community$elm_test$Test_Runner$distributeSeeds(runs), + { + ctor: '_Tuple2', + _0: _p13, + _1: {ctor: '[]'} + }, + _p6._0); + var nextSeed = _p11._0; + var nextRunners = _p11._1; + return { + ctor: '_Tuple2', + _0: nextSeed, + _1: { + ctor: '::', + _0: _elm_community$elm_test$Test_Runner$Batch( + A2(_elm_lang$core$Basics_ops['++'], _p12, nextRunners)), + _1: {ctor: '[]'} + } + }; + } + }); +var _elm_community$elm_test$Test_Runner$fromTest = F3( + function (runs, seed, test) { + if (_elm_lang$core$Native_Utils.cmp(runs, 1) < 0) { + return _elm_community$elm_test$Test_Runner$Runnable( + _elm_community$elm_test$Test_Runner$Thunk( + function (_p14) { + var _p15 = _p14; + return { + ctor: '::', + _0: _elm_community$elm_test$Expect$fail( + A2( + _elm_lang$core$Basics_ops['++'], + 'Test runner run count must be at least 1, not ', + _elm_lang$core$Basics$toString(runs))), + _1: {ctor: '[]'} + }; + })); + } else { + var _p16 = test; + switch (_p16.ctor) { + case 'Test': + return _elm_community$elm_test$Test_Runner$Runnable( + _elm_community$elm_test$Test_Runner$Thunk( + function (_p17) { + var _p18 = _p17; + return A2(_p16._0, seed, runs); + })); + case 'Labeled': + return A2( + _elm_community$elm_test$Test_Runner$Labeled, + _p16._0, + A3(_elm_community$elm_test$Test_Runner$fromTest, runs, seed, _p16._1)); + default: + return _elm_community$elm_test$Test_Runner$Batch( + _elm_lang$core$Tuple$second( + A3( + _elm_lang$core$List$foldl, + _elm_community$elm_test$Test_Runner$distributeSeeds(runs), + { + ctor: '_Tuple2', + _0: seed, + _1: {ctor: '[]'} + }, + _p16._0))); + } + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/elm-test/3.1.0/Test.elmi new file mode 100644 index 0000000000000000000000000000000000000000..fa027a87e71c14d6d5f11a7ce85b4774729e2cb6 GIT binary patch literal 9473 zcmeHNTW`}a6n57%R2q{I{{soJ?PZVSB9K5#Y!Z(saa@R$CRHvH-LEI<{2iaT?OF^q zDoS5!ADt{Q$5WU~?UQdWKmCawsVm@#3v|j4LX-BM8RqOs49-1bql4Tkz5CX;} z!daTts>E0*i(E#KA%aDH;CmVH_bV0^Y)<&TW`u7m1beL!mR!M?~==dMe)dExx|l_i>aL0 z&G4aefJVIfY%JqrtI9e54`JCYf%ti7Cl+|F91j*rpI9LG#R3Bh(#;10EI7f!#Q+P~ zyZ+7=VSoiHY!0XPDrCVc?Wm=XtV?_XT|)k#Q@??<$TVZql%|;sn1^k+7#FK;)PIQirj>mE+Y>xv#9_~);umGEap%e(8@ z@pyL`BkPHr7`qixO;e*(sdIPm&hgRcMB)57!lir5btV=8ig1q-Wm8k?qb21yznAVi+<><*pvWAXw=~dTl~Qf8_~NxUP|u1j8)z~ z@_XMN&eir($hzG0LXs8NTLbKHnf7@mD^ZjZYJ+J)w1GALEcX)pV`Q4m7y<&$Lhxrq zfi~h|fXAhu6pnxptIS9!ad)hi>YuA8PWR2*K;i7;Z{CC!mOEp8vH(|DG~aQ{nq&B` z-PLka)lUnXu%a9*-G>zj=m8%(Q;T2E0$H`a|D`B37Uc&%q)*8qKuA@UKkHs5DqknI>v^?|7Zi^D?&gw1k#YEw)_A$bGvAHsq!Mx{(9=3s>}5`~9G(XtUw}k`&+hf_HTALe zC)PX5i{;W=6aRs%Xy&!PQa&+w@5A{0_??%fzE>fPckKXNX<(N+KwbifJ%7~1c{NUw z2T2V7E|nFMc!kaVB&G1%0m%zgoP8D4YE!`(%qVJK1;(A_X;4o@3F#}z0zZR!s~|a7 zbWxygReCT$1g@C2EJRtxN zr%6WVDMin9qE!;2k6bd_OG$i}M5DEjRBCg>!%?Gjr)3XlHMp%iDh(LX?S^j*f5bUW zV}c7PLlw1dP292eB^@U2fKhiT3XSx{;tmeG&$q5+KR>{*v85ez&QF{6T8#r8$=FIs0kd_RoU826Fg~?_>5tYD1&1{62KDsgx)DpjW zkufH89vDWFgp14CnN9@7d_r+D07>(Uq0H0T&VS$f4|4`&T2DC;^J}_YC{{zZtAm_{Ll?I)H8rDH~EQ$*hZ%YnE!< fdXXxJvi`dG7t5i?NxFBuLq9A+*_GJ^U89%_|n literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmi new file mode 100644 index 0000000000000000000000000000000000000000..583afd794a8836994b50c75cde61ee5b2e72c324 GIT binary patch literal 3713 zcmds4$xg#C5OtcRRap**-{^&7j}Q<-R6-PSMNZ;EP?nMfsKm$PrhbVXh)7W_Byx#8 znen_?Jt0JSj+7lC2P}#wej3MR5*91*ar~U8$%MTZ85NWf#H@f83>$|g!Hh1k9ehl& z9Odk#WQkw1nmH@*(GEhtIKgi3Ei9f~wxDHHbBq^R8sDmg&j3IWkx`)PzHwy!t|g7#qli@3;_TEE~Rv}(gwcip*6`ziT- z2JoJ{d79h4DLLid(2qoyh7N-enc4;W7Ihqc<_HGp0_cSVTSremf zM_Ze7o=D@>=G4EAU^SuY0s;3+O;eYue&+&^G&M>~1D_?lqSlph9c)$NVY78ID6@9= gfY;Bk9kjFce~d0=-wu=7v>_yh{=2{v`SIoT34`~?(f|Me literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmo new file mode 100644 index 0000000..413a62a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Decode-Extra.elmo @@ -0,0 +1,95 @@ +var _elm_community$json_extra$Json_Decode_Extra$fromResult = function (result) { + var _p0 = result; + if (_p0.ctor === 'Ok') { + return _elm_lang$core$Json_Decode$succeed(_p0._0); + } else { + return _elm_lang$core$Json_Decode$fail(_p0._0); + } +}; +var _elm_community$json_extra$Json_Decode_Extra$sequenceHelp = F2( + function (decoders, jsonValues) { + return (!_elm_lang$core$Native_Utils.eq( + _elm_lang$core$List$length(jsonValues), + _elm_lang$core$List$length(decoders))) ? _elm_lang$core$Json_Decode$fail('Number of decoders does not match number of values') : _elm_community$json_extra$Json_Decode_Extra$fromResult( + A3( + _elm_lang$core$List$foldr, + _elm_lang$core$Result$map2( + F2( + function (x, y) { + return {ctor: '::', _0: x, _1: y}; + })), + _elm_lang$core$Result$Ok( + {ctor: '[]'}), + A3(_elm_lang$core$List$map2, _elm_lang$core$Json_Decode$decodeValue, decoders, jsonValues))); + }); +var _elm_community$json_extra$Json_Decode_Extra$sequence = function (decoders) { + return A2( + _elm_lang$core$Json_Decode$andThen, + _elm_community$json_extra$Json_Decode_Extra$sequenceHelp(decoders), + _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$value)); +}; +var _elm_community$json_extra$Json_Decode_Extra$withDefault = F2( + function (fallback, decoder) { + return A2( + _elm_lang$core$Json_Decode$andThen, + function (_p1) { + return _elm_lang$core$Json_Decode$succeed( + A2(_elm_lang$core$Maybe$withDefault, fallback, _p1)); + }, + _elm_lang$core$Json_Decode$maybe(decoder)); + }); +var _elm_community$json_extra$Json_Decode_Extra$decodeDictFromTuples = F2( + function (keyDecoder, tuples) { + var _p2 = tuples; + if (_p2.ctor === '[]') { + return _elm_lang$core$Json_Decode$succeed(_elm_lang$core$Dict$empty); + } else { + var _p3 = A2(_elm_lang$core$Json_Decode$decodeString, keyDecoder, _p2._0._0); + if (_p3.ctor === 'Ok') { + return A2( + _elm_lang$core$Json_Decode$andThen, + function (_p4) { + return _elm_lang$core$Json_Decode$succeed( + A3(_elm_lang$core$Dict$insert, _p3._0, _p2._0._1, _p4)); + }, + A2(_elm_community$json_extra$Json_Decode_Extra$decodeDictFromTuples, keyDecoder, _p2._1)); + } else { + return _elm_lang$core$Json_Decode$fail(_p3._0); + } + } + }); +var _elm_community$json_extra$Json_Decode_Extra$dict2 = F2( + function (keyDecoder, valueDecoder) { + return A2( + _elm_lang$core$Json_Decode$andThen, + function (_p5) { + return A2( + _elm_community$json_extra$Json_Decode_Extra$decodeDictFromTuples, + keyDecoder, + _elm_lang$core$Dict$toList(_p5)); + }, + _elm_lang$core$Json_Decode$dict(valueDecoder)); + }); +var _elm_community$json_extra$Json_Decode_Extra$set = function (decoder) { + return A2( + _elm_lang$core$Json_Decode$andThen, + function (_p6) { + return _elm_lang$core$Json_Decode$succeed( + _elm_lang$core$Set$fromList(_p6)); + }, + _elm_lang$core$Json_Decode$list(decoder)); +}; +var _elm_community$json_extra$Json_Decode_Extra$date = A2( + _elm_lang$core$Json_Decode$andThen, + function (_p7) { + return _elm_community$json_extra$Json_Decode_Extra$fromResult( + _elm_lang$core$Date$fromString(_p7)); + }, + _elm_lang$core$Json_Decode$string); +var _elm_community$json_extra$Json_Decode_Extra$andMap = _elm_lang$core$Json_Decode$map2( + F2( + function (x, y) { + return y(x); + })); +var _elm_community$json_extra$Json_Decode_Extra_ops = _elm_community$json_extra$Json_Decode_Extra_ops || {}; +_elm_community$json_extra$Json_Decode_Extra_ops['|:'] = _elm_lang$core$Basics$flip(_elm_community$json_extra$Json_Decode_Extra$andMap); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmi new file mode 100644 index 0000000000000000000000000000000000000000..a041eb0137aad191aa1fc1c595a41b55ccd3bfa5 GIT binary patch literal 753 zcma)3%MOAt5G;=pqVeK?@BynG7R&~PPreO~8;2V{!&AE$~C>w29>Zd6Ig2zYzI2kqAGbRbnAZ()l>BBSrE>*CfzpzjZw)KAj^u~ncozXevfJ29y T83i6tJT|K$%xBV|n*+W+zJpMv literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo new file mode 100644 index 0000000..c8513c6 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/Json-Encode-Extra.elmo @@ -0,0 +1,9 @@ +var _elm_community$json_extra$Json_Encode_Extra$maybe = F2( + function (encoder, value) { + var _p0 = value; + if (_p0.ctor === 'Nothing') { + return _elm_lang$core$Json_Encode$null; + } else { + return encoder(_p0._0); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/json-extra/2.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..403f7671a174c51be42e627ff167ddf76e9c6b8d GIT binary patch literal 2457 zcmeH{OK!s;5Qb^}P}HiuNlcU@w9cjvsj7PcOmIYtO~gZLZr?Z_+}f%)hV0_aFvxuT zGr*6~>AUU%x?`eVQd!rw;pPC7H=kNIOZIIPff@HZqpqA zU~U{-Q>KfbL%nhea$=kUKMtn`m_D4SU?DK+1JRu70D_X7mDZh?Pi657*C9$vUdf>h zab)Q`(^iC#lom$u{!;riDfzH_5u&)on;@o=%01vYqTI_Hv!cg(>v6Ltv4t%G>uERt z`sJoMhhKKo(0+LvpuGdX927t2E;zru7z;uPoX$A(J-Qf6*P5wDO*+8YjRpMxlYk+H4O6+G1FX^>LtWIuRmEt}J&*{`yhY-I21L z__R1u2%KLmk|IU@cpnt+cnpHZ@0Ug@2!7V-^5raFE;m_H-az4bs%~#yrpda5j9;I@ z#fy)op$E( zqFL1({GuzZ=9DNEJv4Y;mAuR5U!A}HlyYLu8dsaV7TI0VX#8q2E08#nP56X9(_ zZxoqpTg4=76_cPUXYdB}WXzztm_hY1gW8D8yrO*U#o40Bmu|+W%-fv}ihU*vbkNh%pD`95*UagZE5*g+Wf7jE^@)YJ(cBK87E%Qk17C&tT7rjU>`E&ajaJa*NT(YV{{J97ON) zJQd<&Ln^YarL1%P1%&>B06Fh}vb4}&OZuxlcLcVUu(_T%mTm7@pq}N$u4Bf~_10)4 ztc_LH@Eo@eS;Ip=n}#H;N@9aUACp}#)^s3u3tX%aWNO6(E)h6(0wG3@7 zt5eFHI+^md#{OD!@T=iQk6|iM4zQFdXj}i!7AwsTel^;TKXJ>Mqw7!HbS|cc^k66V z+=ycRzmGaLiWqMx#_K&E0vi{$mhyn{C8AO>=2lX3A_j6QW`hRn3x(U6*!JDkLW)_gHpZ+GH%u%4JquM+Q50&AN6w zwB=iSWfufwn!@H~n5NL~ZVTtm2ngwNNmr2KB89{Ufd>RQE^x$~TMx7v#yawW!DiX`oiD+YV7rdkWp5uzhRM~IHV2%=9o zB4;08@4hOD?$znSPj!j`pfPqdX-0|v%C|C*`KI2)U9ZlKAhvhsq!`x^_L3f<@36i} z!NUc^pb;AP-u;O<{s3YVQVdQ0N+!NC@jd;-w=+iNI5(3n^UEOC?$v4{Ib;Tsp1E`I3Pd=loBMa zO9*93NTJh&6vESS30T>r$zOP^Np^&1-4eH-#w(98HS%>9DM&Fr%@s&R=Y(wGRKTP~ zBsHk9J<+;z+CxLG_1b;#kvq!Y`n>m?;F`4%GXaqgIpQ}3JhlFFileZLbKhg0ZT`QrNzCLuQPfOe|}M+Wu6|O^3~$spZH^X zo_e*$xF-miFX@Oxajg}RXvpEjN9Ohs*n{@))d{LU?IEtUcDh4XZfL?gt0Mqkf@a zpx^>6)!}F3-_!g>7kReE+py7ITm*u9Om?Ytj>SH@a@f7@SSBOH*sZ&rJiUHBqM-43 OjMqaTn{YCjP~Lx870t!~ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/Lazy-List.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/Lazy-List.elmo new file mode 100644 index 0000000..a946219 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/Lazy-List.elmo @@ -0,0 +1,686 @@ +var _elm_community$lazy_list$Lazy_List$toArray = function (list) { + var _p0 = _elm_lang$lazy$Lazy$force(list); + if (_p0.ctor === 'Nil') { + return _elm_lang$core$Array$empty; + } else { + return A2( + _elm_lang$core$Array$append, + A2(_elm_lang$core$Array$push, _p0._0, _elm_lang$core$Array$empty), + _elm_community$lazy_list$Lazy_List$toArray(_p0._1)); + } +}; +var _elm_community$lazy_list$Lazy_List$toList = function (list) { + var _p1 = _elm_lang$lazy$Lazy$force(list); + if (_p1.ctor === 'Nil') { + return {ctor: '[]'}; + } else { + return { + ctor: '::', + _0: _p1._0, + _1: _elm_community$lazy_list$Lazy_List$toList(_p1._1) + }; + } +}; +var _elm_community$lazy_list$Lazy_List$foldr = F3( + function (reducer, b, list) { + return A3( + _elm_lang$core$Array$foldr, + reducer, + b, + _elm_community$lazy_list$Lazy_List$toArray(list)); + }); +var _elm_community$lazy_list$Lazy_List$reduce = F3( + function (reducer, b, list) { + reduce: + while (true) { + var _p2 = _elm_lang$lazy$Lazy$force(list); + if (_p2.ctor === 'Nil') { + return b; + } else { + var _v3 = reducer, + _v4 = A2(reducer, _p2._0, b), + _v5 = _p2._1; + reducer = _v3; + b = _v4; + list = _v5; + continue reduce; + } + } + }); +var _elm_community$lazy_list$Lazy_List$foldl = _elm_community$lazy_list$Lazy_List$reduce; +var _elm_community$lazy_list$Lazy_List$sum = A2( + _elm_community$lazy_list$Lazy_List$reduce, + F2( + function (x, y) { + return x + y; + }), + 0); +var _elm_community$lazy_list$Lazy_List$product = A2( + _elm_community$lazy_list$Lazy_List$reduce, + F2( + function (x, y) { + return x * y; + }), + 1); +var _elm_community$lazy_list$Lazy_List$length = A2( + _elm_community$lazy_list$Lazy_List$reduce, + F2( + function (_p3, n) { + return n + 1; + }), + 0); +var _elm_community$lazy_list$Lazy_List$member = F2( + function (a, list) { + var _p4 = _elm_lang$lazy$Lazy$force(list); + if (_p4.ctor === 'Nil') { + return false; + } else { + return _elm_lang$core$Native_Utils.eq(_p4._0, a) || A2(_elm_community$lazy_list$Lazy_List$member, a, _p4._1); + } + }); +var _elm_community$lazy_list$Lazy_List$headAndTail = function (list) { + var _p5 = _elm_lang$lazy$Lazy$force(list); + if (_p5.ctor === 'Nil') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just( + {ctor: '_Tuple2', _0: _p5._0, _1: _p5._1}); + } +}; +var _elm_community$lazy_list$Lazy_List$tail = function (list) { + var _p6 = _elm_lang$lazy$Lazy$force(list); + if (_p6.ctor === 'Nil') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just(_p6._1); + } +}; +var _elm_community$lazy_list$Lazy_List$head = function (list) { + var _p7 = _elm_lang$lazy$Lazy$force(list); + if (_p7.ctor === 'Nil') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just(_p7._0); + } +}; +var _elm_community$lazy_list$Lazy_List$isEmpty = function (list) { + var _p8 = _elm_lang$lazy$Lazy$force(list); + if (_p8.ctor === 'Nil') { + return true; + } else { + return false; + } +}; +var _elm_community$lazy_list$Lazy_List$Cons = F2( + function (a, b) { + return {ctor: 'Cons', _0: a, _1: b}; + }); +var _elm_community$lazy_list$Lazy_List$cons = F2( + function (a, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p9) { + var _p10 = _p9; + return A2(_elm_community$lazy_list$Lazy_List$Cons, a, list); + }); + }); +var _elm_community$lazy_list$Lazy_List_ops = _elm_community$lazy_list$Lazy_List_ops || {}; +_elm_community$lazy_list$Lazy_List_ops[':::'] = _elm_community$lazy_list$Lazy_List$cons; +var _elm_community$lazy_list$Lazy_List$append = F2( + function (list1, list2) { + return _elm_lang$lazy$Lazy$lazy( + function (_p11) { + var _p12 = _p11; + var _p13 = _elm_lang$lazy$Lazy$force(list1); + if (_p13.ctor === 'Nil') { + return _elm_lang$lazy$Lazy$force(list2); + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _p13._0, + A2(_elm_community$lazy_list$Lazy_List_ops['+++'], _p13._1, list2))); + } + }); + }); +var _elm_community$lazy_list$Lazy_List_ops = _elm_community$lazy_list$Lazy_List_ops || {}; +_elm_community$lazy_list$Lazy_List_ops['+++'] = _elm_community$lazy_list$Lazy_List$append; +var _elm_community$lazy_list$Lazy_List$cycle = function (list) { + return A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + list, + _elm_lang$lazy$Lazy$lazy( + function (_p14) { + var _p15 = _p14; + return _elm_lang$lazy$Lazy$force( + _elm_community$lazy_list$Lazy_List$cycle(list)); + })); +}; +var _elm_community$lazy_list$Lazy_List$interleave = F2( + function (list1, list2) { + return _elm_lang$lazy$Lazy$lazy( + function (_p16) { + var _p17 = _p16; + var _p18 = _elm_lang$lazy$Lazy$force(list1); + if (_p18.ctor === 'Nil') { + return _elm_lang$lazy$Lazy$force(list2); + } else { + var _p19 = _elm_lang$lazy$Lazy$force(list2); + if (_p19.ctor === 'Nil') { + return _elm_lang$lazy$Lazy$force(list1); + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _p18._0, + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _p19._0, + A2(_elm_community$lazy_list$Lazy_List$interleave, _p18._1, _p19._1)))); + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$repeat = function (a) { + return _elm_lang$lazy$Lazy$lazy( + function (_p20) { + var _p21 = _p20; + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + a, + _elm_community$lazy_list$Lazy_List$repeat(a)); + }); +}; +var _elm_community$lazy_list$Lazy_List$iterate = F2( + function (f, a) { + return _elm_lang$lazy$Lazy$lazy( + function (_p22) { + var _p23 = _p22; + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + a, + A2( + _elm_community$lazy_list$Lazy_List$iterate, + f, + f(a))); + }); + }); +var _elm_community$lazy_list$Lazy_List$numbers = A2( + _elm_community$lazy_list$Lazy_List$iterate, + F2( + function (x, y) { + return x + y; + })(1), + 1); +var _elm_community$lazy_list$Lazy_List$Nil = {ctor: 'Nil'}; +var _elm_community$lazy_list$Lazy_List$empty = _elm_lang$lazy$Lazy$lazy( + function (_p24) { + var _p25 = _p24; + return _elm_community$lazy_list$Lazy_List$Nil; + }); +var _elm_community$lazy_list$Lazy_List$singleton = function (a) { + return A2(_elm_community$lazy_list$Lazy_List$cons, a, _elm_community$lazy_list$Lazy_List$empty); +}; +var _elm_community$lazy_list$Lazy_List$reverse = A2(_elm_community$lazy_list$Lazy_List$reduce, _elm_community$lazy_list$Lazy_List$cons, _elm_community$lazy_list$Lazy_List$empty); +var _elm_community$lazy_list$Lazy_List$fromList = A2(_elm_lang$core$List$foldr, _elm_community$lazy_list$Lazy_List$cons, _elm_community$lazy_list$Lazy_List$empty); +var _elm_community$lazy_list$Lazy_List$fromArray = A2(_elm_lang$core$Array$foldr, _elm_community$lazy_list$Lazy_List$cons, _elm_community$lazy_list$Lazy_List$empty); +var _elm_community$lazy_list$Lazy_List$intersperse = F2( + function (a, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p26) { + var _p27 = _p26; + var _p28 = _elm_lang$lazy$Lazy$force(list); + if (_p28.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p33 = _p28._0; + var _p29 = _elm_lang$lazy$Lazy$force(_p28._1); + if (_p29.ctor === 'Nil') { + return _elm_lang$lazy$Lazy$force( + A2(_elm_community$lazy_list$Lazy_List_ops[':::'], _p33, _elm_community$lazy_list$Lazy_List$empty)); + } else { + var _p32 = _p29._1; + var _p31 = _p29._0; + var _p30 = _elm_lang$lazy$Lazy$force(_p32); + if (_p30.ctor === 'Nil') { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _p33, + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + a, + A2(_elm_community$lazy_list$Lazy_List_ops[':::'], _p31, _elm_community$lazy_list$Lazy_List$empty)))); + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _p33, + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + a, + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _p31, + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + a, + A2(_elm_community$lazy_list$Lazy_List$intersperse, a, _p32)))))); + } + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$take = F2( + function (n, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p34) { + var _p35 = _p34; + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p36 = _elm_lang$lazy$Lazy$force(list); + if (_p36.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + _p36._0, + A2(_elm_community$lazy_list$Lazy_List$take, n - 1, _p36._1)); + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$takeWhile = F2( + function (predicate, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p37) { + var _p38 = _p37; + var _p39 = _elm_lang$lazy$Lazy$force(list); + if (_p39.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p40 = _p39._0; + return predicate(_p40) ? A2( + _elm_community$lazy_list$Lazy_List$Cons, + _p40, + A2(_elm_community$lazy_list$Lazy_List$takeWhile, predicate, _p39._1)) : _elm_community$lazy_list$Lazy_List$Nil; + } + }); + }); +var _elm_community$lazy_list$Lazy_List$drop = F2( + function (n, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p41) { + var _p42 = _p41; + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) { + return _elm_lang$lazy$Lazy$force(list); + } else { + var _p43 = _elm_lang$lazy$Lazy$force(list); + if (_p43.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return _elm_lang$lazy$Lazy$force( + A2(_elm_community$lazy_list$Lazy_List$drop, n - 1, _p43._1)); + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$dropWhile = F2( + function (predicate, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p44) { + var _p45 = _p44; + var _p46 = _elm_lang$lazy$Lazy$force(list); + if (_p46.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return predicate(_p46._0) ? _elm_lang$lazy$Lazy$force( + A2(_elm_community$lazy_list$Lazy_List$dropWhile, predicate, _p46._1)) : _elm_lang$lazy$Lazy$force(list); + } + }); + }); +var _elm_community$lazy_list$Lazy_List$unique = function (list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p47) { + var _p48 = _p47; + var _p49 = _elm_lang$lazy$Lazy$force(list); + if (_p49.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p51 = _p49._1; + var _p50 = _p49._0; + return A2(_elm_community$lazy_list$Lazy_List$member, _p50, _p51) ? _elm_lang$lazy$Lazy$force( + _elm_community$lazy_list$Lazy_List$unique(_p51)) : A2( + _elm_community$lazy_list$Lazy_List$Cons, + _p50, + _elm_community$lazy_list$Lazy_List$unique(_p51)); + } + }); +}; +var _elm_community$lazy_list$Lazy_List$keepIf = F2( + function (predicate, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p52) { + var _p53 = _p52; + var _p54 = _elm_lang$lazy$Lazy$force(list); + if (_p54.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p56 = _p54._1; + var _p55 = _p54._0; + return predicate(_p55) ? A2( + _elm_community$lazy_list$Lazy_List$Cons, + _p55, + A2(_elm_community$lazy_list$Lazy_List$keepIf, predicate, _p56)) : _elm_lang$lazy$Lazy$force( + A2(_elm_community$lazy_list$Lazy_List$keepIf, predicate, _p56)); + } + }); + }); +var _elm_community$lazy_list$Lazy_List$dropIf = function (predicate) { + return _elm_community$lazy_list$Lazy_List$keepIf( + function (n) { + return !predicate(n); + }); +}; +var _elm_community$lazy_list$Lazy_List$filterMap = F2( + function (transform, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p57) { + var _p58 = _p57; + var _p59 = _elm_lang$lazy$Lazy$force(list); + if (_p59.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p61 = _p59._1; + var _p60 = transform(_p59._0); + if (_p60.ctor === 'Just') { + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + _p60._0, + A2(_elm_community$lazy_list$Lazy_List$filterMap, transform, _p61)); + } else { + return _elm_lang$lazy$Lazy$force( + A2(_elm_community$lazy_list$Lazy_List$filterMap, transform, _p61)); + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$flatten = function (list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p62) { + var _p63 = _p62; + var _p64 = _elm_lang$lazy$Lazy$force(list); + if (_p64.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + _p64._0, + _elm_community$lazy_list$Lazy_List$flatten(_p64._1))); + } + }); +}; +var _elm_community$lazy_list$Lazy_List$map = F2( + function (f, list) { + return _elm_lang$lazy$Lazy$lazy( + function (_p65) { + var _p66 = _p65; + var _p67 = _elm_lang$lazy$Lazy$force(list); + if (_p67.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + f(_p67._0), + A2(_elm_community$lazy_list$Lazy_List$map, f, _p67._1)); + } + }); + }); +var _elm_community$lazy_list$Lazy_List$andThen = F2( + function (f, list) { + return _elm_community$lazy_list$Lazy_List$flatten( + A2(_elm_community$lazy_list$Lazy_List$map, f, list)); + }); +var _elm_community$lazy_list$Lazy_List$map2 = F3( + function (f, list1, list2) { + return _elm_lang$lazy$Lazy$lazy( + function (_p68) { + var _p69 = _p68; + var _p70 = _elm_lang$lazy$Lazy$force(list1); + if (_p70.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p71 = _elm_lang$lazy$Lazy$force(list2); + if (_p71.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + A2(f, _p70._0, _p71._0), + A3(_elm_community$lazy_list$Lazy_List$map2, f, _p70._1, _p71._1)); + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$andMap = F2( + function (listVal, listFuncs) { + return A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (x, y) { + return x(y); + }), + listFuncs, + listVal); + }); +var _elm_community$lazy_list$Lazy_List$zip = _elm_community$lazy_list$Lazy_List$map2( + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + })); +var _elm_community$lazy_list$Lazy_List$map3 = F4( + function (f, list1, list2, list3) { + return _elm_lang$lazy$Lazy$lazy( + function (_p72) { + var _p73 = _p72; + var _p74 = _elm_lang$lazy$Lazy$force(list1); + if (_p74.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p75 = _elm_lang$lazy$Lazy$force(list2); + if (_p75.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p76 = _elm_lang$lazy$Lazy$force(list3); + if (_p76.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + A3(f, _p74._0, _p75._0, _p76._0), + A4(_elm_community$lazy_list$Lazy_List$map3, f, _p74._1, _p75._1, _p76._1)); + } + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$zip3 = _elm_community$lazy_list$Lazy_List$map3( + F3( + function (v0, v1, v2) { + return {ctor: '_Tuple3', _0: v0, _1: v1, _2: v2}; + })); +var _elm_community$lazy_list$Lazy_List$map4 = F5( + function (f, list1, list2, list3, list4) { + return _elm_lang$lazy$Lazy$lazy( + function (_p77) { + var _p78 = _p77; + var _p79 = _elm_lang$lazy$Lazy$force(list1); + if (_p79.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p80 = _elm_lang$lazy$Lazy$force(list2); + if (_p80.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p81 = _elm_lang$lazy$Lazy$force(list3); + if (_p81.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p82 = _elm_lang$lazy$Lazy$force(list4); + if (_p82.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + A4(f, _p79._0, _p80._0, _p81._0, _p82._0), + A5(_elm_community$lazy_list$Lazy_List$map4, f, _p79._1, _p80._1, _p81._1, _p82._1)); + } + } + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$zip4 = _elm_community$lazy_list$Lazy_List$map4( + F4( + function (v0, v1, v2, v3) { + return {ctor: '_Tuple4', _0: v0, _1: v1, _2: v2, _3: v3}; + })); +var _elm_community$lazy_list$Lazy_List$map5 = F6( + function (f, list1, list2, list3, list4, list5) { + return _elm_lang$lazy$Lazy$lazy( + function (_p83) { + var _p84 = _p83; + var _p85 = _elm_lang$lazy$Lazy$force(list1); + if (_p85.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p86 = _elm_lang$lazy$Lazy$force(list2); + if (_p86.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p87 = _elm_lang$lazy$Lazy$force(list3); + if (_p87.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p88 = _elm_lang$lazy$Lazy$force(list4); + if (_p88.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p89 = _elm_lang$lazy$Lazy$force(list5); + if (_p89.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return A2( + _elm_community$lazy_list$Lazy_List$Cons, + A5(f, _p85._0, _p86._0, _p87._0, _p88._0, _p89._0), + A6(_elm_community$lazy_list$Lazy_List$map5, f, _p85._1, _p86._1, _p87._1, _p88._1, _p89._1)); + } + } + } + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$zip5 = _elm_community$lazy_list$Lazy_List$map5( + F5( + function (v0, v1, v2, v3, v4) { + return {ctor: '_Tuple5', _0: v0, _1: v1, _2: v2, _3: v3, _4: v4}; + })); +var _elm_community$lazy_list$Lazy_List$product2 = F2( + function (list1, list2) { + return _elm_lang$lazy$Lazy$lazy( + function (_p90) { + var _p91 = _p90; + var _p92 = _elm_lang$lazy$Lazy$force(list1); + if (_p92.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + var _p93 = _elm_lang$lazy$Lazy$force(list2); + if (_p93.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + })(_p92._0), + list2), + A2(_elm_community$lazy_list$Lazy_List$product2, _p92._1, list2))); + } + } + }); + }); +var _elm_community$lazy_list$Lazy_List$product3 = F3( + function (list1, list2, list3) { + return _elm_lang$lazy$Lazy$lazy( + function (_p94) { + var _p95 = _p94; + var _p96 = _elm_lang$lazy$Lazy$force(list1); + if (_p96.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (_p97) { + var _p98 = _p97; + return {ctor: '_Tuple3', _0: _p96._0, _1: _p98._0, _2: _p98._1}; + }, + A2(_elm_community$lazy_list$Lazy_List$product2, list2, list3)), + A3(_elm_community$lazy_list$Lazy_List$product3, _p96._1, list2, list3))); + } + }); + }); +var _elm_community$lazy_list$Lazy_List$product4 = F4( + function (list1, list2, list3, list4) { + return _elm_lang$lazy$Lazy$lazy( + function (_p99) { + var _p100 = _p99; + var _p101 = _elm_lang$lazy$Lazy$force(list1); + if (_p101.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (_p102) { + var _p103 = _p102; + return {ctor: '_Tuple4', _0: _p101._0, _1: _p103._0, _2: _p103._1, _3: _p103._2}; + }, + A3(_elm_community$lazy_list$Lazy_List$product3, list2, list3, list4)), + A4(_elm_community$lazy_list$Lazy_List$product4, _p101._1, list2, list3, list4))); + } + }); + }); +var _elm_community$lazy_list$Lazy_List$product5 = F5( + function (list1, list2, list3, list4, list5) { + return _elm_lang$lazy$Lazy$lazy( + function (_p104) { + var _p105 = _p104; + var _p106 = _elm_lang$lazy$Lazy$force(list1); + if (_p106.ctor === 'Nil') { + return _elm_community$lazy_list$Lazy_List$Nil; + } else { + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (_p107) { + var _p108 = _p107; + return {ctor: '_Tuple5', _0: _p106._0, _1: _p108._0, _2: _p108._1, _3: _p108._2, _4: _p108._3}; + }, + A4(_elm_community$lazy_list$Lazy_List$product4, list2, list3, list4, list5)), + A5(_elm_community$lazy_list$Lazy_List$product5, _p106._1, list2, list3, list4, list5))); + } + }); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/lazy-list/1.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..dd4ff2d9da1ff92a8aa264351cf0215160b862ed GIT binary patch literal 1308 zcmb`GOK!q25QbC05iICUh~Wr4mLOHY1t!Kp5l({qSfr0t%?|PY5EnR0 z!|xLEHWObY^JLDA7Tm-5wxJ}=U8IK9`H7UVPp+UmQ>~)X64wmlV<7EpsWp(u5YWg= z!z>}3cn{^Nq6R&Yd}lEWjj2o8|M5L>-e^(00+S2VgEqF2siP@{l+;(V*$(QItP)aC zyqCtQUgm$WI&ZBUQWHD6tLj7C_)CG!D&1+y7tBOvePj*S#VNp9o!Em*>A&~^yhW3A literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/Shrink.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/Shrink.elmi new file mode 100644 index 0000000000000000000000000000000000000000..46b2fd675e66dcc470873a45baa2eb81382eea45 GIT binary patch literal 28721 zcmeHQOOM+&5SG@K;%(9%dN2A50u*g?$*oCIAixGKx<#*rY-v zgV{E_#e!_mM;?H{V6%?N>vhC+IM@sRhG`)X!2an@rp0Q%IN%Id#XtGJ}v0<`Z zzEAE$Ri4$T;LyKO_3%9Uh4BxS@tb6~TI`ORPMJ)hW%O%0KY$#ea(Yt;NqzZB{pWSl z8jB1jZj|gQgap4OG8z4Qmj=S6glMx>V1XOh1AADe=!rs9N9%6QEOknp{C) zRyv4vf|fHa=^cqsC&ivqH)eQ$0lfdcO8*5WfYUxu z;aII)Six-irdT6kpjBm=@(`%iY&Z#9#X8_tuKCE)Gvqs~sLOFHmq}#GgWy(@bw3u; zTAeIH58l(RvtUf)tAezK$)_;2MTYZ$W~_61-my&64`(7167fXVEQ7|$$h+iFiEUX@ zhOjA=0V&R9ibG)I)=C{oN(DOH7{Dh9*=Cticmo^Vl!2g<)!mSR70XEHQXIm-oZUdE zEv(*w91QF9o#_m3J(6m#skOXWUBSmx0D++_>>gJ`1s} zXLv&bN<_WW#I0Svcin1yBsGr>+wpES3HF>O1$K7CYkueqiwBE=F*2}*#76Gh=YZtS z!j9RKmles%npRmOL}PPmVbxK#J*;@nv?IxaP*olDlf~wj5cq_InX#3OYe;N5PmY#{ zhm@wAI(;hhXE3;Ra>9^loSqup`d#N}l-TQY*~}fQ`eHA{n&cUEnr@6=#Kg9JNjbhF zpl&nBa`SQF{~H&;b{baRb_|u@vCuDEKsOg0Lp`TcSwD@&9vF!^fw<&K1zs;z2o=ZF zEhHI9?`fXW({v;n9-OBH#~aRg*I$*3!+WhBtI=asUo0LHsM8lATOz4`i#Gbby!Bk1 z6MalF($)At^&au{%XT!zU^+>O#a&kCIam8#1!WrGT$lXVJhopmco zQuH}lA5sQZRkjaS&4w^37~OIkf^~+(`WcoWl{N>jy(~a~bpW~(u+iE*fD%|DWKFv) zjmIe;V@W0|?mXY6`6}JjZ$`m&e{~q{sBBFwj_5iC-x2Rh%-6M;%L`)IpgO#!mFx?+ zI)5l=+~}OTCNIdH;8jE5@k4)>-Jut*5Nh-Zk*(gKBilv4*o_Jm*Kg}#SMpSiOx<8& z++f8?!&FjJ2&z|G(bng)f2#K%{ivQ_$X@fvq+z1iUt*gNIC^Mu`Nr=5H>!b z`hZ$`3sO7$v~bgII#LfqcC%#3&QiA2A$;1>O>8Zi$M-wVoc_riwqj#V=D<~$ R6y633joYW=jkF1f_Y3d{a-skL literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/Shrink.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/Shrink.elmo new file mode 100644 index 0000000..a935ac3 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/Shrink.elmo @@ -0,0 +1,918 @@ +var _elm_community$shrink$Shrink$seriesFloat = F2( + function (low, high) { + if (_elm_lang$core$Native_Utils.cmp(low, high - 1.0e-4) > -1) { + return (!_elm_lang$core$Native_Utils.eq(high, 1.0e-6)) ? _elm_community$lazy_list$Lazy_List$singleton(low + 1.0e-6) : _elm_community$lazy_list$Lazy_List$empty; + } else { + var low_ = low + ((high - low) / 2); + return A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + low, + A2(_elm_community$shrink$Shrink$seriesFloat, low_, high)); + } + }); +var _elm_community$shrink$Shrink$seriesInt = F2( + function (low, high) { + if (_elm_lang$core$Native_Utils.cmp(low, high) > -1) { + return _elm_community$lazy_list$Lazy_List$empty; + } else { + if (_elm_lang$core$Native_Utils.eq(low, high - 1)) { + return A2(_elm_community$lazy_list$Lazy_List_ops[':::'], low, _elm_community$lazy_list$Lazy_List$empty); + } else { + var low_ = low + (((high - low) / 2) | 0); + return A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + low, + A2(_elm_community$shrink$Shrink$seriesInt, low_, high)); + } + } + }); +var _elm_community$shrink$Shrink$andMap = _elm_community$lazy_list$Lazy_List$andMap; +var _elm_community$shrink$Shrink$map = _elm_community$lazy_list$Lazy_List$map; +var _elm_community$shrink$Shrink$merge = F3( + function (shrink1, shrink2, a) { + return _elm_community$lazy_list$Lazy_List$unique( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + shrink1(a), + shrink2(a))); + }); +var _elm_community$shrink$Shrink$keepIf = F3( + function (predicate, shrink, a) { + return A2( + _elm_community$lazy_list$Lazy_List$keepIf, + predicate, + shrink(a)); + }); +var _elm_community$shrink$Shrink$dropIf = function (predicate) { + return _elm_community$shrink$Shrink$keepIf( + function (_p0) { + return !predicate(_p0); + }); +}; +var _elm_community$shrink$Shrink$convert = F4( + function (f, g, shrink, b) { + return A2( + _elm_community$lazy_list$Lazy_List$map, + f, + shrink( + g(b))); + }); +var _elm_community$shrink$Shrink$tuple5 = F2( + function (_p2, _p1) { + var _p3 = _p2; + var _p14 = _p3._4; + var _p13 = _p3._3; + var _p12 = _p3._2; + var _p11 = _p3._1; + var _p10 = _p3._0; + var _p4 = _p1; + var _p9 = _p4._4; + var _p8 = _p4._3; + var _p7 = _p4._2; + var _p6 = _p4._1; + var _p5 = _p4._0; + return A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (e) { + return {ctor: '_Tuple5', _0: _p5, _1: _p6, _2: _p7, _3: _p8, _4: e}; + }, + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (d) { + return {ctor: '_Tuple5', _0: _p5, _1: _p6, _2: _p7, _3: d, _4: _p9}; + }, + _p13(_p8)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (c) { + return {ctor: '_Tuple5', _0: _p5, _1: _p6, _2: c, _3: _p8, _4: _p9}; + }, + _p12(_p7)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (b) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: _p7, _3: _p8, _4: _p9}; + }, + _p11(_p6)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (a) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: _p7, _3: _p8, _4: _p9}; + }, + _p10(_p5)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (d, e) { + return {ctor: '_Tuple5', _0: _p5, _1: _p6, _2: _p7, _3: d, _4: e}; + }), + _p13(_p8), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (c, e) { + return {ctor: '_Tuple5', _0: _p5, _1: _p6, _2: c, _3: _p8, _4: e}; + }), + _p12(_p7), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (b, e) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: _p7, _3: _p8, _4: e}; + }), + _p11(_p6), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, e) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: _p7, _3: _p8, _4: e}; + }), + _p10(_p5), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (c, d) { + return {ctor: '_Tuple5', _0: _p5, _1: _p6, _2: c, _3: d, _4: _p9}; + }), + _p12(_p7), + _p13(_p8)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (b, d) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: _p7, _3: d, _4: _p9}; + }), + _p11(_p6), + _p13(_p8)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, d) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: _p7, _3: d, _4: _p9}; + }), + _p10(_p5), + _p13(_p8)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (b, c) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: c, _3: _p8, _4: _p9}; + }), + _p11(_p6), + _p12(_p7)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, c) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: c, _3: _p8, _4: _p9}; + }), + _p10(_p5), + _p12(_p7)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, b) { + return {ctor: '_Tuple5', _0: a, _1: b, _2: _p7, _3: _p8, _4: _p9}; + }), + _p10(_p5), + _p11(_p6)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, b, c) { + return {ctor: '_Tuple5', _0: a, _1: b, _2: c, _3: _p8, _4: _p9}; + }), + _p10(_p5), + _p11(_p6), + _p12(_p7)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, b, d) { + return {ctor: '_Tuple5', _0: a, _1: b, _2: _p7, _3: d, _4: _p9}; + }), + _p10(_p5), + _p11(_p6), + _p13(_p8)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, c, d) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: c, _3: d, _4: _p9}; + }), + _p10(_p5), + _p12(_p7), + _p13(_p8)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (b, c, d) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: c, _3: d, _4: _p9}; + }), + _p11(_p6), + _p12(_p7), + _p13(_p8)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, b, e) { + return {ctor: '_Tuple5', _0: a, _1: b, _2: _p7, _3: _p8, _4: e}; + }), + _p10(_p5), + _p11(_p6), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, c, e) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: c, _3: _p8, _4: e}; + }), + _p10(_p5), + _p12(_p7), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (b, c, e) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: c, _3: _p8, _4: e}; + }), + _p11(_p6), + _p12(_p7), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, d, e) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: _p7, _3: d, _4: e}; + }), + _p10(_p5), + _p13(_p8), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (b, d, e) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: _p7, _3: d, _4: e}; + }), + _p11(_p6), + _p13(_p8), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (c, d, e) { + return {ctor: '_Tuple5', _0: _p5, _1: _p6, _2: c, _3: d, _4: e}; + }), + _p12(_p7), + _p13(_p8), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A5( + _elm_community$lazy_list$Lazy_List$map4, + F4( + function (b, c, d, e) { + return {ctor: '_Tuple5', _0: _p5, _1: b, _2: c, _3: d, _4: e}; + }), + _p11(_p6), + _p12(_p7), + _p13(_p8), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A5( + _elm_community$lazy_list$Lazy_List$map4, + F4( + function (a, c, d, e) { + return {ctor: '_Tuple5', _0: a, _1: _p6, _2: c, _3: d, _4: e}; + }), + _p10(_p5), + _p12(_p7), + _p13(_p8), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A5( + _elm_community$lazy_list$Lazy_List$map4, + F4( + function (a, b, d, e) { + return {ctor: '_Tuple5', _0: a, _1: b, _2: _p7, _3: d, _4: e}; + }), + _p10(_p5), + _p11(_p6), + _p13(_p8), + _p14(_p9)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A5( + _elm_community$lazy_list$Lazy_List$map4, + F4( + function (a, b, c, d) { + return {ctor: '_Tuple5', _0: a, _1: b, _2: c, _3: d, _4: _p9}; + }), + _p10(_p5), + _p11(_p6), + _p12(_p7), + _p13(_p8)), + A6( + _elm_community$lazy_list$Lazy_List$map5, + F5( + function (v0, v1, v2, v3, v4) { + return {ctor: '_Tuple5', _0: v0, _1: v1, _2: v2, _3: v3, _4: v4}; + }), + _p10(_p5), + _p11(_p6), + _p12(_p7), + _p13(_p8), + _p14(_p9))))))))))))))))))))))))))))))); + }); +var _elm_community$shrink$Shrink$tuple4 = F2( + function (_p16, _p15) { + var _p17 = _p16; + var _p26 = _p17._3; + var _p25 = _p17._2; + var _p24 = _p17._1; + var _p23 = _p17._0; + var _p18 = _p15; + var _p22 = _p18._3; + var _p21 = _p18._2; + var _p20 = _p18._1; + var _p19 = _p18._0; + return A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (d) { + return {ctor: '_Tuple4', _0: _p19, _1: _p20, _2: _p21, _3: d}; + }, + _p26(_p22)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (c) { + return {ctor: '_Tuple4', _0: _p19, _1: _p20, _2: c, _3: _p22}; + }, + _p25(_p21)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (b) { + return {ctor: '_Tuple4', _0: _p19, _1: b, _2: _p21, _3: _p22}; + }, + _p24(_p20)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (a) { + return {ctor: '_Tuple4', _0: a, _1: _p20, _2: _p21, _3: _p22}; + }, + _p23(_p19)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (c, d) { + return {ctor: '_Tuple4', _0: _p19, _1: _p20, _2: c, _3: d}; + }), + _p25(_p21), + _p26(_p22)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (b, d) { + return {ctor: '_Tuple4', _0: _p19, _1: b, _2: _p21, _3: d}; + }), + _p24(_p20), + _p26(_p22)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, d) { + return {ctor: '_Tuple4', _0: a, _1: _p20, _2: _p21, _3: d}; + }), + _p23(_p19), + _p26(_p22)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (b, c) { + return {ctor: '_Tuple4', _0: _p19, _1: b, _2: c, _3: _p22}; + }), + _p24(_p20), + _p25(_p21)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, c) { + return {ctor: '_Tuple4', _0: a, _1: _p20, _2: c, _3: _p22}; + }), + _p23(_p19), + _p25(_p21)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, b) { + return {ctor: '_Tuple4', _0: a, _1: b, _2: _p21, _3: _p22}; + }), + _p23(_p19), + _p24(_p20)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (b, c, d) { + return {ctor: '_Tuple4', _0: _p19, _1: b, _2: c, _3: d}; + }), + _p24(_p20), + _p25(_p21), + _p26(_p22)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, c, d) { + return {ctor: '_Tuple4', _0: a, _1: _p20, _2: c, _3: d}; + }), + _p23(_p19), + _p25(_p21), + _p26(_p22)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, b, d) { + return {ctor: '_Tuple4', _0: a, _1: b, _2: _p21, _3: d}; + }), + _p23(_p19), + _p24(_p20), + _p26(_p22)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (a, b, c) { + return {ctor: '_Tuple4', _0: a, _1: b, _2: c, _3: _p22}; + }), + _p23(_p19), + _p24(_p20), + _p25(_p21)), + A5( + _elm_community$lazy_list$Lazy_List$map4, + F4( + function (v0, v1, v2, v3) { + return {ctor: '_Tuple4', _0: v0, _1: v1, _2: v2, _3: v3}; + }), + _p23(_p19), + _p24(_p20), + _p25(_p21), + _p26(_p22)))))))))))))))); + }); +var _elm_community$shrink$Shrink$tuple3 = F2( + function (_p28, _p27) { + var _p29 = _p28; + var _p36 = _p29._2; + var _p35 = _p29._1; + var _p34 = _p29._0; + var _p30 = _p27; + var _p33 = _p30._2; + var _p32 = _p30._1; + var _p31 = _p30._0; + return A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (c) { + return {ctor: '_Tuple3', _0: _p31, _1: _p32, _2: c}; + }, + _p36(_p33)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (b) { + return {ctor: '_Tuple3', _0: _p31, _1: b, _2: _p33}; + }, + _p35(_p32)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + function (a) { + return {ctor: '_Tuple3', _0: a, _1: _p32, _2: _p33}; + }, + _p34(_p31)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (b, c) { + return {ctor: '_Tuple3', _0: _p31, _1: b, _2: c}; + }), + _p35(_p32), + _p36(_p33)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, c) { + return {ctor: '_Tuple3', _0: a, _1: _p32, _2: c}; + }), + _p34(_p31), + _p36(_p33)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (a, b) { + return {ctor: '_Tuple3', _0: a, _1: b, _2: _p33}; + }), + _p34(_p31), + _p35(_p32)), + A4( + _elm_community$lazy_list$Lazy_List$map3, + F3( + function (v0, v1, v2) { + return {ctor: '_Tuple3', _0: v0, _1: v1, _2: v2}; + }), + _p34(_p31), + _p35(_p32), + _p36(_p33)))))))); + }); +var _elm_community$shrink$Shrink$tuple = F2( + function (_p38, _p37) { + var _p39 = _p38; + var _p44 = _p39._1; + var _p43 = _p39._0; + var _p40 = _p37; + var _p42 = _p40._1; + var _p41 = _p40._0; + return A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + })(_p41), + _p44(_p42)), + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + A2( + _elm_lang$core$Basics$flip, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + _p42), + _p43(_p41)), + A3( + _elm_community$lazy_list$Lazy_List$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + _p43(_p41), + _p44(_p42)))); + }); +var _elm_community$shrink$Shrink$lazylist = F2( + function (shrink, l) { + return _elm_lang$lazy$Lazy$lazy( + function (_p45) { + var _p46 = _p45; + var removes = F3( + function (k, n, l) { + return _elm_lang$lazy$Lazy$lazy( + function (_p47) { + var _p48 = _p47; + if (_elm_lang$core$Native_Utils.cmp(k, n) > 0) { + return _elm_lang$lazy$Lazy$force(_elm_community$lazy_list$Lazy_List$empty); + } else { + if (_elm_community$lazy_list$Lazy_List$isEmpty(l)) { + return _elm_lang$lazy$Lazy$force( + A2(_elm_community$lazy_list$Lazy_List_ops[':::'], _elm_community$lazy_list$Lazy_List$empty, _elm_community$lazy_list$Lazy_List$empty)); + } else { + var rest = A2(_elm_community$lazy_list$Lazy_List$drop, k, l); + var first = A2(_elm_community$lazy_list$Lazy_List$take, k, l); + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + rest, + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (x, y) { + return A2(_elm_community$lazy_list$Lazy_List_ops['+++'], x, y); + })(first), + A3(removes, k, n - k, rest)))); + } + } + }); + }); + var shrinkOne = function (l) { + return _elm_lang$lazy$Lazy$lazy( + function (_p49) { + var _p50 = _p49; + var _p51 = _elm_lang$lazy$Lazy$force(l); + if (_p51.ctor === 'Nil') { + return _elm_lang$lazy$Lazy$force(_elm_community$lazy_list$Lazy_List$empty); + } else { + var _p53 = _p51._1; + var _p52 = _p51._0; + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$map, + A2( + _elm_lang$core$Basics$flip, + F2( + function (x, y) { + return A2(_elm_community$lazy_list$Lazy_List_ops[':::'], x, y); + }), + _p53), + shrink(_p52)), + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (x, y) { + return A2(_elm_community$lazy_list$Lazy_List_ops[':::'], x, y); + })(_p52), + shrinkOne(_p53)))); + } + }); + }; + var n = _elm_community$lazy_list$Lazy_List$length(l); + return _elm_lang$lazy$Lazy$force( + A2( + _elm_community$lazy_list$Lazy_List_ops['+++'], + A2( + _elm_community$lazy_list$Lazy_List$andThen, + function (k) { + return A3(removes, k, n, l); + }, + A2( + _elm_community$lazy_list$Lazy_List$takeWhile, + function (x) { + return _elm_lang$core$Native_Utils.cmp(x, 0) > 0; + }, + A2( + _elm_community$lazy_list$Lazy_List$iterate, + function (n) { + return (n / 2) | 0; + }, + n))), + shrinkOne(l))); + }); + }); +var _elm_community$shrink$Shrink$list = function (shrink) { + return A3( + _elm_community$shrink$Shrink$convert, + _elm_community$lazy_list$Lazy_List$toList, + _elm_community$lazy_list$Lazy_List$fromList, + _elm_community$shrink$Shrink$lazylist(shrink)); +}; +var _elm_community$shrink$Shrink$array = function (shrink) { + return A3( + _elm_community$shrink$Shrink$convert, + _elm_community$lazy_list$Lazy_List$toArray, + _elm_community$lazy_list$Lazy_List$fromArray, + _elm_community$shrink$Shrink$lazylist(shrink)); +}; +var _elm_community$shrink$Shrink$result = F3( + function (shrinkError, shrinkValue, r) { + var _p54 = r; + if (_p54.ctor === 'Ok') { + return A2( + _elm_community$lazy_list$Lazy_List$map, + _elm_lang$core$Result$Ok, + shrinkValue(_p54._0)); + } else { + return A2( + _elm_community$lazy_list$Lazy_List$map, + _elm_lang$core$Result$Err, + shrinkError(_p54._0)); + } + }); +var _elm_community$shrink$Shrink$maybe = F2( + function (shrink, m) { + var _p55 = m; + if (_p55.ctor === 'Just') { + return A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _elm_lang$core$Maybe$Nothing, + A2( + _elm_community$lazy_list$Lazy_List$map, + _elm_lang$core$Maybe$Just, + shrink(_p55._0))); + } else { + return _elm_community$lazy_list$Lazy_List$empty; + } + }); +var _elm_community$shrink$Shrink$atLeastFloat = F2( + function (min, n) { + return ((_elm_lang$core$Native_Utils.cmp(n, 0) < 0) && (_elm_lang$core$Native_Utils.cmp(n, min) > -1)) ? A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + 0 - n, + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (x, y) { + return x * y; + })(-1), + A2(_elm_community$shrink$Shrink$seriesFloat, 0, 0 - n))) : A2( + _elm_community$shrink$Shrink$seriesFloat, + A2(_elm_lang$core$Basics$max, 0, min), + n); + }); +var _elm_community$shrink$Shrink$float = function (n) { + return (_elm_lang$core$Native_Utils.cmp(n, 0) < 0) ? A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + 0 - n, + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (x, y) { + return x * y; + })(-1), + A2(_elm_community$shrink$Shrink$seriesFloat, 0, 0 - n))) : A2(_elm_community$shrink$Shrink$seriesFloat, 0, n); +}; +var _elm_community$shrink$Shrink$atLeastInt = F2( + function (min, n) { + return ((_elm_lang$core$Native_Utils.cmp(n, 0) < 0) && (_elm_lang$core$Native_Utils.cmp(n, min) > -1)) ? A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + 0 - n, + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (x, y) { + return x * y; + })(-1), + A2(_elm_community$shrink$Shrink$seriesInt, 0, 0 - n))) : A2( + _elm_community$shrink$Shrink$seriesInt, + A2(_elm_lang$core$Basics$max, 0, min), + n); + }); +var _elm_community$shrink$Shrink$atLeastChar = function ($char) { + return A3( + _elm_community$shrink$Shrink$convert, + _elm_lang$core$Char$fromCode, + _elm_lang$core$Char$toCode, + _elm_community$shrink$Shrink$atLeastInt( + _elm_lang$core$Char$toCode($char))); +}; +var _elm_community$shrink$Shrink$character = _elm_community$shrink$Shrink$atLeastChar( + _elm_lang$core$Char$fromCode(32)); +var _elm_community$shrink$Shrink$string = A3( + _elm_community$shrink$Shrink$convert, + _elm_lang$core$String$fromList, + _elm_lang$core$String$toList, + _elm_community$shrink$Shrink$list(_elm_community$shrink$Shrink$character)); +var _elm_community$shrink$Shrink$int = function (n) { + return (_elm_lang$core$Native_Utils.cmp(n, 0) < 0) ? A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + 0 - n, + A2( + _elm_community$lazy_list$Lazy_List$map, + F2( + function (x, y) { + return x * y; + })(-1), + A2(_elm_community$shrink$Shrink$seriesInt, 0, 0 - n))) : A2(_elm_community$shrink$Shrink$seriesInt, 0, n); +}; +var _elm_community$shrink$Shrink$char = A3(_elm_community$shrink$Shrink$convert, _elm_lang$core$Char$fromCode, _elm_lang$core$Char$toCode, _elm_community$shrink$Shrink$int); +var _elm_community$shrink$Shrink$order = function (o) { + var _p56 = o; + switch (_p56.ctor) { + case 'GT': + return A2( + _elm_community$lazy_list$Lazy_List_ops[':::'], + _elm_lang$core$Basics$EQ, + A2(_elm_community$lazy_list$Lazy_List_ops[':::'], _elm_lang$core$Basics$LT, _elm_community$lazy_list$Lazy_List$empty)); + case 'LT': + return A2(_elm_community$lazy_list$Lazy_List_ops[':::'], _elm_lang$core$Basics$EQ, _elm_community$lazy_list$Lazy_List$empty); + default: + return _elm_community$lazy_list$Lazy_List$empty; + } +}; +var _elm_community$shrink$Shrink$bool = function (b) { + var _p57 = b; + if (_p57 === true) { + return A2(_elm_community$lazy_list$Lazy_List_ops[':::'], false, _elm_community$lazy_list$Lazy_List$empty); + } else { + return _elm_community$lazy_list$Lazy_List$empty; + } +}; +var _elm_community$shrink$Shrink$noShrink = function (_p58) { + return _elm_community$lazy_list$Lazy_List$empty; +}; +var _elm_community$shrink$Shrink$unit = _elm_community$shrink$Shrink$noShrink; +var _elm_community$shrink$Shrink$shrink = F3( + function (keepShrinking, shrinker, originalVal) { + var helper = F2( + function (lazyList, val) { + helper: + while (true) { + var _p59 = _elm_lang$lazy$Lazy$force(lazyList); + if (_p59.ctor === 'Nil') { + return val; + } else { + var _p60 = _p59._0; + if (keepShrinking(_p60)) { + var _v17 = shrinker(_p60), + _v18 = _p60; + lazyList = _v17; + val = _v18; + continue helper; + } else { + var _v19 = _p59._1, + _v20 = val; + lazyList = _v19; + val = _v20; + continue helper; + } + } + } + }); + return A2( + helper, + shrinker(originalVal), + originalVal); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-community/shrink/2.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..d552caf5ba792e54be67bf94fd0f1c19cee29a25 GIT binary patch literal 1452 zcmb`HO^<>w5Qf=Rh#pM#k4Vj)_u|LVP0X@?VCWVl7BKxdu)khdW};goi54zHY3G^u zZKnjm-}BOiU?yZS=T%YIGB-7TjPya}iK?a`OeR?>y=A`NzK;kP}>ASp`msD?kM6U}8m)^T NkIuS_O>BzT;0&DKp$Py0 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmi new file mode 100644 index 0000000000000000000000000000000000000000..0c0307de0d793ab00da3f9dcf5c94a18673eb07b GIT binary patch literal 3748 zcmdT{OHacv3{Ka_CL}Jv-{8V=HzskI#5i$B>6(p5=|gRX7{8v9+DW}J#w3E)UTQn8 z{n>FGmof5O5stBmQ2DLm#Tw+%vaAKr*QgtdywY3bl3G-PYh*8EA+_X6e&Ba(vZ~Ac zQ8rd*ESm>nLWyFnU(rNVZ5qoYysAWz;aa#B)=bzqI&PF)T91h?`~EI;oy>S6m(7ke>On%yc)_a zZR4;D=K;&L;iKo?-5$JHa>o0qJM#f0~R|YcyM8ZiA>MyJSH%N`1EJ$y>r)1A1;%Y8d%MA!uY`XGeHIU literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo new file mode 100644 index 0000000..958955b --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo @@ -0,0 +1,54 @@ +var _elm_lang$core$Array$append = _elm_lang$core$Native_Array.append; +var _elm_lang$core$Array$length = _elm_lang$core$Native_Array.length; +var _elm_lang$core$Array$isEmpty = function (array) { + return _elm_lang$core$Native_Utils.eq( + _elm_lang$core$Array$length(array), + 0); +}; +var _elm_lang$core$Array$slice = _elm_lang$core$Native_Array.slice; +var _elm_lang$core$Array$set = _elm_lang$core$Native_Array.set; +var _elm_lang$core$Array$get = F2( + function (i, array) { + return ((_elm_lang$core$Native_Utils.cmp(0, i) < 1) && (_elm_lang$core$Native_Utils.cmp( + i, + _elm_lang$core$Native_Array.length(array)) < 0)) ? _elm_lang$core$Maybe$Just( + A2(_elm_lang$core$Native_Array.get, i, array)) : _elm_lang$core$Maybe$Nothing; + }); +var _elm_lang$core$Array$push = _elm_lang$core$Native_Array.push; +var _elm_lang$core$Array$empty = _elm_lang$core$Native_Array.empty; +var _elm_lang$core$Array$filter = F2( + function (isOkay, arr) { + var update = F2( + function (x, xs) { + return isOkay(x) ? A2(_elm_lang$core$Native_Array.push, x, xs) : xs; + }); + return A3(_elm_lang$core$Native_Array.foldl, update, _elm_lang$core$Native_Array.empty, arr); + }); +var _elm_lang$core$Array$foldr = _elm_lang$core$Native_Array.foldr; +var _elm_lang$core$Array$foldl = _elm_lang$core$Native_Array.foldl; +var _elm_lang$core$Array$indexedMap = _elm_lang$core$Native_Array.indexedMap; +var _elm_lang$core$Array$map = _elm_lang$core$Native_Array.map; +var _elm_lang$core$Array$toIndexedList = function (array) { + return A3( + _elm_lang$core$List$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + A2( + _elm_lang$core$List$range, + 0, + _elm_lang$core$Native_Array.length(array) - 1), + _elm_lang$core$Native_Array.toList(array)); +}; +var _elm_lang$core$Array$toList = _elm_lang$core$Native_Array.toList; +var _elm_lang$core$Array$fromList = _elm_lang$core$Native_Array.fromList; +var _elm_lang$core$Array$initialize = _elm_lang$core$Native_Array.initialize; +var _elm_lang$core$Array$repeat = F2( + function (n, e) { + return A2( + _elm_lang$core$Array$initialize, + n, + _elm_lang$core$Basics$always(e)); + }); +var _elm_lang$core$Array$Array = {ctor: 'Array'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmi new file mode 100644 index 0000000000000000000000000000000000000000..75f620a855933844bb351899b587ef56321db921 GIT binary patch literal 5451 zcmb_gO>f&c5S1v)cGKIUe_?y55g6EG;TT1Mw&)_8Zqf9b1uZLq09o?Na<>KYPCIw2|L|h&EXPdXkizt>k<`RFpMz;^j+{_xB*9?_~u#oRK;w^@`M-)D0*xr!cD0 z4aDK^pvFadCu^)fh~#Pq)oAx`Md#uqmzynAlf1lpD|Z|gk`mhtpeQM6E85u@M73l* zM$!R|q=Ons2NpNXA21wO<-S;xyUj}*qDhiwdB)8RrggP15@&^zx_qCPk_(%x)4M87 z>FK1B>r58p<9c6NPL2M%%q4f^*=<#BI+8fsUCAprcb4rw7PncE*$_|b@=IMgE{Ykq zb(*cyqR#3c7(bTzfAR;N5euFRaqk>Ko=dT$bab0%+^{&=R~4;JR7hMtF4AvlCCsGp zRl~u9fZ|Wpn&QZ)#pN}qcb`FhfQ(~dV|*p+>>CctSRJ7(!Q%Qc@z*-b0eNF)P{$YO zAo^I;U9PLrLz=rq`RHv~<{s-Q^{DVw5Sl5+#eTC=%lCMXg?}?2=kxvJnv(#{ncQyE zVl7vB+9&IS8K=*Qf11;C88sbXx8P+sf>W?a482E!3^!tSeH9BbAh{EYu1WwEZ>T5Fn3p zMWqE82(A6zNmrOued6pGhwNRg`rrY4l!xlmc-nZC*I=NtLMwH*pa;rezxynpeyA1z zrkkZ=Hw%gn*T2ft^FQ~y`cskq)f6MA7;TgH$p&ynE`Qkq!yE3@lhRUKk#H|`7WP=< ztga<^dLPPJ_^iTE=p><)Bh;34T{6h9u382`O-Jw;vR|&3LX0qnEZ3S-{vW*M_vs#i@?n=VI2C81d<4= z#z9VnsRzS})g>Bd?>&W%OTGCVF2%YI_GTjMoCv3AJsc(u?2Y!Z*3z`GjAgqiUC!WCcSyNDS4P3E%Ts$SrfXVRs)p5^rfK9T?^rw6qwQ4>;W}RH z4tWr?ZF&bG*`N~L_(rDV0Nc@H@8hxK%tqK=)*cCZI_|W&wh<@b@D`Y+`w+4l12(hP z2b;z1*F14LhbMj$^lICe7`imLiEJ8m$1{hf)H=B`ffecj=!mJzXs?6UQq0z=G>u9? zdBk_xeJ$uz$Hti;GK76AfJX4mfD-$50Fn8BVg8+W4'] = F2( + function (x, f) { + return f(x); + }); +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['>>'] = F3( + function (f, g, x) { + return g( + f(x)); + }); +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['<<'] = F3( + function (g, f, x) { + return g( + f(x)); + }); +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['++'] = _elm_lang$core$Native_Utils.append; +var _elm_lang$core$Basics$toString = _elm_lang$core$Native_Utils.toString; +var _elm_lang$core$Basics$isInfinite = _elm_lang$core$Native_Basics.isInfinite; +var _elm_lang$core$Basics$isNaN = _elm_lang$core$Native_Basics.isNaN; +var _elm_lang$core$Basics$toFloat = _elm_lang$core$Native_Basics.toFloat; +var _elm_lang$core$Basics$ceiling = _elm_lang$core$Native_Basics.ceiling; +var _elm_lang$core$Basics$floor = _elm_lang$core$Native_Basics.floor; +var _elm_lang$core$Basics$truncate = _elm_lang$core$Native_Basics.truncate; +var _elm_lang$core$Basics$round = _elm_lang$core$Native_Basics.round; +var _elm_lang$core$Basics$not = _elm_lang$core$Native_Basics.not; +var _elm_lang$core$Basics$xor = _elm_lang$core$Native_Basics.xor; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['||'] = _elm_lang$core$Native_Basics.or; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['&&'] = _elm_lang$core$Native_Basics.and; +var _elm_lang$core$Basics$max = _elm_lang$core$Native_Basics.max; +var _elm_lang$core$Basics$min = _elm_lang$core$Native_Basics.min; +var _elm_lang$core$Basics$compare = _elm_lang$core$Native_Basics.compare; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['>='] = _elm_lang$core$Native_Basics.ge; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['<='] = _elm_lang$core$Native_Basics.le; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['>'] = _elm_lang$core$Native_Basics.gt; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['<'] = _elm_lang$core$Native_Basics.lt; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['/='] = _elm_lang$core$Native_Basics.neq; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['=='] = _elm_lang$core$Native_Basics.eq; +var _elm_lang$core$Basics$e = _elm_lang$core$Native_Basics.e; +var _elm_lang$core$Basics$pi = _elm_lang$core$Native_Basics.pi; +var _elm_lang$core$Basics$clamp = _elm_lang$core$Native_Basics.clamp; +var _elm_lang$core$Basics$logBase = _elm_lang$core$Native_Basics.logBase; +var _elm_lang$core$Basics$abs = _elm_lang$core$Native_Basics.abs; +var _elm_lang$core$Basics$negate = _elm_lang$core$Native_Basics.negate; +var _elm_lang$core$Basics$sqrt = _elm_lang$core$Native_Basics.sqrt; +var _elm_lang$core$Basics$atan2 = _elm_lang$core$Native_Basics.atan2; +var _elm_lang$core$Basics$atan = _elm_lang$core$Native_Basics.atan; +var _elm_lang$core$Basics$asin = _elm_lang$core$Native_Basics.asin; +var _elm_lang$core$Basics$acos = _elm_lang$core$Native_Basics.acos; +var _elm_lang$core$Basics$tan = _elm_lang$core$Native_Basics.tan; +var _elm_lang$core$Basics$sin = _elm_lang$core$Native_Basics.sin; +var _elm_lang$core$Basics$cos = _elm_lang$core$Native_Basics.cos; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['^'] = _elm_lang$core$Native_Basics.exp; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['%'] = _elm_lang$core$Native_Basics.mod; +var _elm_lang$core$Basics$rem = _elm_lang$core$Native_Basics.rem; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['//'] = _elm_lang$core$Native_Basics.div; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['/'] = _elm_lang$core$Native_Basics.floatDiv; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['*'] = _elm_lang$core$Native_Basics.mul; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['-'] = _elm_lang$core$Native_Basics.sub; +var _elm_lang$core$Basics_ops = _elm_lang$core$Basics_ops || {}; +_elm_lang$core$Basics_ops['+'] = _elm_lang$core$Native_Basics.add; +var _elm_lang$core$Basics$toPolar = _elm_lang$core$Native_Basics.toPolar; +var _elm_lang$core$Basics$fromPolar = _elm_lang$core$Native_Basics.fromPolar; +var _elm_lang$core$Basics$turns = _elm_lang$core$Native_Basics.turns; +var _elm_lang$core$Basics$degrees = _elm_lang$core$Native_Basics.degrees; +var _elm_lang$core$Basics$radians = function (t) { + return t; +}; +var _elm_lang$core$Basics$GT = {ctor: 'GT'}; +var _elm_lang$core$Basics$EQ = {ctor: 'EQ'}; +var _elm_lang$core$Basics$LT = {ctor: 'LT'}; +var _elm_lang$core$Basics$JustOneMore = function (a) { + return {ctor: 'JustOneMore', _0: a}; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmi new file mode 100644 index 0000000000000000000000000000000000000000..627a4b5ba8b3d43d1990a1c0914e9d1611407c28 GIT binary patch literal 727 zcmaiy%?^Sv5QG;>l&JCGd-wtzxtS0T9=$bKpa~QMjX!TMA-llnK`z~II@4^o5W#l< zB8pAj9Bb`L)}y@b4A*P%D(!AkhixaNdd>AFZ<~8<8sofdZ~Mv?J~M?+-=ghC?PAMn zA?|1KT1?)6Ga;|5v-b8e^_E)yw7p;~<|H8r2AY(FDavdwodvVwuYu1UComnRPQxvM y064Q83G4$%cWWB)l(B~@bRNhpAYZjR55Y7Z38YwR?=KQdbyyE~n97wIitgnlsx<2e6d>__d=&_;iYQ0Y*1 zbtt+n2VJX13(7|YTR2?fo(G4;XNSijkkLrxoBoM_I|_5UsFXFer6^~Mcje5Po962; z#V4?2a~MZTMQm>u?~MRl#rxLd?kBLZ6DQ!_=o47BoJ9X=Uv#R8 l`Q@jjN-M@oBpIoAb9@bDR;s{G?n@>9zN7~A9~k_}@Gtf~pyL1l literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo new file mode 100644 index 0000000..39837ec --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo @@ -0,0 +1,42 @@ +var _elm_lang$core$Char$fromCode = _elm_lang$core$Native_Char.fromCode; +var _elm_lang$core$Char$toCode = _elm_lang$core$Native_Char.toCode; +var _elm_lang$core$Char$toLocaleLower = _elm_lang$core$Native_Char.toLocaleLower; +var _elm_lang$core$Char$toLocaleUpper = _elm_lang$core$Native_Char.toLocaleUpper; +var _elm_lang$core$Char$toLower = _elm_lang$core$Native_Char.toLower; +var _elm_lang$core$Char$toUpper = _elm_lang$core$Native_Char.toUpper; +var _elm_lang$core$Char$isBetween = F3( + function (low, high, $char) { + var code = _elm_lang$core$Char$toCode($char); + return (_elm_lang$core$Native_Utils.cmp( + code, + _elm_lang$core$Char$toCode(low)) > -1) && (_elm_lang$core$Native_Utils.cmp( + code, + _elm_lang$core$Char$toCode(high)) < 1); + }); +var _elm_lang$core$Char$isUpper = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('A'), + _elm_lang$core$Native_Utils.chr('Z')); +var _elm_lang$core$Char$isLower = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('a'), + _elm_lang$core$Native_Utils.chr('z')); +var _elm_lang$core$Char$isDigit = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('0'), + _elm_lang$core$Native_Utils.chr('9')); +var _elm_lang$core$Char$isOctDigit = A2( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('0'), + _elm_lang$core$Native_Utils.chr('7')); +var _elm_lang$core$Char$isHexDigit = function ($char) { + return _elm_lang$core$Char$isDigit($char) || (A3( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('a'), + _elm_lang$core$Native_Utils.chr('f'), + $char) || A3( + _elm_lang$core$Char$isBetween, + _elm_lang$core$Native_Utils.chr('A'), + _elm_lang$core$Native_Utils.chr('F'), + $char)); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmi new file mode 100644 index 0000000000000000000000000000000000000000..7a9c04b890ffe8965dc3177c56ef6e8187acae77 GIT binary patch literal 7497 zcmdT}OOM(x5H=)X18pz;AA4zUdn+rIt%THya_OluA%$oSK}ite-`BA{e(@+ILsxJ~ zW^8}ocx=Zr10l}uqazU#r)>4e=z5{_VUicAdVhqzL9v*@d&u7@2*I*s@E-Da-OyhY z>Ap-T11!Qd)YS}Lo^zJ# zT}410kLvwpZ9l;8s26zlhP2F*QfWV{XZPueK#vY30l<=QoRzSpJEq4!J1E@n<>&Z| zHj+eNSx&2KUxBQHJ0w?HMOFKQ$@=D`@jyo?m1SZ$e z0nHugZ>w-J8d~caeB<9c?WS{*@@UJ6sD;&Wrh6njD|o_0 zlu;BCA_RO$a8_`Lgc$x=<#ThN`O!*!zv;_PHOfOKLN+8LtmMKYLn4q#0}_}Blaa9a z%puXb&CErL=Ru!dZq$$^<{9NwqG-{)Y#MW=SQpQ?toj4)^ zS~(^XqMPO+ftrjD3D8Q)kr2T|wCl;PFCf`yR~e8Xby)-n&#s^#K|)o@oc_kSXybwR zp4#+eO$}>BWT6cUO_d27udn|tzX8y_uYX-%MOrRVP1Y_yR{#;gBTh0B^Ro3+6pSxs zKG+5Aq6kqpznI()v5qG2kMW3JP(Jl;MiX|*kA zmF4T>9fmSrGr6uVanDn&TbBF@ecJ(2bFw$>|T^*09+8aUi3Nx>YTQC2pk zHUuScQohrIvq@yl+ef-2NY}Iuo?nCYEr+_c)CUJg{lfBg`*Ck`FDQ3FO<0Oi)7f}S NfDZGfK7yS?{sM7b3akJC literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo new file mode 100644 index 0000000..077056a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo @@ -0,0 +1,165 @@ +var _elm_lang$core$Color$fmod = F2( + function (f, n) { + var integer = _elm_lang$core$Basics$floor(f); + return (_elm_lang$core$Basics$toFloat( + A2(_elm_lang$core$Basics_ops['%'], integer, n)) + f) - _elm_lang$core$Basics$toFloat(integer); + }); +var _elm_lang$core$Color$rgbToHsl = F3( + function (red, green, blue) { + var b = _elm_lang$core$Basics$toFloat(blue) / 255; + var g = _elm_lang$core$Basics$toFloat(green) / 255; + var r = _elm_lang$core$Basics$toFloat(red) / 255; + var cMax = A2( + _elm_lang$core$Basics$max, + A2(_elm_lang$core$Basics$max, r, g), + b); + var cMin = A2( + _elm_lang$core$Basics$min, + A2(_elm_lang$core$Basics$min, r, g), + b); + var c = cMax - cMin; + var lightness = (cMax + cMin) / 2; + var saturation = _elm_lang$core$Native_Utils.eq(lightness, 0) ? 0 : (c / (1 - _elm_lang$core$Basics$abs((2 * lightness) - 1))); + var hue = _elm_lang$core$Basics$degrees(60) * (_elm_lang$core$Native_Utils.eq(cMax, r) ? A2(_elm_lang$core$Color$fmod, (g - b) / c, 6) : (_elm_lang$core$Native_Utils.eq(cMax, g) ? (((b - r) / c) + 2) : (((r - g) / c) + 4))); + return {ctor: '_Tuple3', _0: hue, _1: saturation, _2: lightness}; + }); +var _elm_lang$core$Color$hslToRgb = F3( + function (hue, saturation, lightness) { + var normHue = hue / _elm_lang$core$Basics$degrees(60); + var chroma = (1 - _elm_lang$core$Basics$abs((2 * lightness) - 1)) * saturation; + var x = chroma * (1 - _elm_lang$core$Basics$abs( + A2(_elm_lang$core$Color$fmod, normHue, 2) - 1)); + var _p0 = (_elm_lang$core$Native_Utils.cmp(normHue, 0) < 0) ? {ctor: '_Tuple3', _0: 0, _1: 0, _2: 0} : ((_elm_lang$core$Native_Utils.cmp(normHue, 1) < 0) ? {ctor: '_Tuple3', _0: chroma, _1: x, _2: 0} : ((_elm_lang$core$Native_Utils.cmp(normHue, 2) < 0) ? {ctor: '_Tuple3', _0: x, _1: chroma, _2: 0} : ((_elm_lang$core$Native_Utils.cmp(normHue, 3) < 0) ? {ctor: '_Tuple3', _0: 0, _1: chroma, _2: x} : ((_elm_lang$core$Native_Utils.cmp(normHue, 4) < 0) ? {ctor: '_Tuple3', _0: 0, _1: x, _2: chroma} : ((_elm_lang$core$Native_Utils.cmp(normHue, 5) < 0) ? {ctor: '_Tuple3', _0: x, _1: 0, _2: chroma} : ((_elm_lang$core$Native_Utils.cmp(normHue, 6) < 0) ? {ctor: '_Tuple3', _0: chroma, _1: 0, _2: x} : {ctor: '_Tuple3', _0: 0, _1: 0, _2: 0})))))); + var r = _p0._0; + var g = _p0._1; + var b = _p0._2; + var m = lightness - (chroma / 2); + return {ctor: '_Tuple3', _0: r + m, _1: g + m, _2: b + m}; + }); +var _elm_lang$core$Color$toRgb = function (color) { + var _p1 = color; + if (_p1.ctor === 'RGBA') { + return {red: _p1._0, green: _p1._1, blue: _p1._2, alpha: _p1._3}; + } else { + var _p2 = A3(_elm_lang$core$Color$hslToRgb, _p1._0, _p1._1, _p1._2); + var r = _p2._0; + var g = _p2._1; + var b = _p2._2; + return { + red: _elm_lang$core$Basics$round(255 * r), + green: _elm_lang$core$Basics$round(255 * g), + blue: _elm_lang$core$Basics$round(255 * b), + alpha: _p1._3 + }; + } +}; +var _elm_lang$core$Color$toHsl = function (color) { + var _p3 = color; + if (_p3.ctor === 'HSLA') { + return {hue: _p3._0, saturation: _p3._1, lightness: _p3._2, alpha: _p3._3}; + } else { + var _p4 = A3(_elm_lang$core$Color$rgbToHsl, _p3._0, _p3._1, _p3._2); + var h = _p4._0; + var s = _p4._1; + var l = _p4._2; + return {hue: h, saturation: s, lightness: l, alpha: _p3._3}; + } +}; +var _elm_lang$core$Color$HSLA = F4( + function (a, b, c, d) { + return {ctor: 'HSLA', _0: a, _1: b, _2: c, _3: d}; + }); +var _elm_lang$core$Color$hsla = F4( + function (hue, saturation, lightness, alpha) { + return A4( + _elm_lang$core$Color$HSLA, + hue - _elm_lang$core$Basics$turns( + _elm_lang$core$Basics$toFloat( + _elm_lang$core$Basics$floor(hue / (2 * _elm_lang$core$Basics$pi)))), + saturation, + lightness, + alpha); + }); +var _elm_lang$core$Color$hsl = F3( + function (hue, saturation, lightness) { + return A4(_elm_lang$core$Color$hsla, hue, saturation, lightness, 1); + }); +var _elm_lang$core$Color$complement = function (color) { + var _p5 = color; + if (_p5.ctor === 'HSLA') { + return A4( + _elm_lang$core$Color$hsla, + _p5._0 + _elm_lang$core$Basics$degrees(180), + _p5._1, + _p5._2, + _p5._3); + } else { + var _p6 = A3(_elm_lang$core$Color$rgbToHsl, _p5._0, _p5._1, _p5._2); + var h = _p6._0; + var s = _p6._1; + var l = _p6._2; + return A4( + _elm_lang$core$Color$hsla, + h + _elm_lang$core$Basics$degrees(180), + s, + l, + _p5._3); + } +}; +var _elm_lang$core$Color$grayscale = function (p) { + return A4(_elm_lang$core$Color$HSLA, 0, 0, 1 - p, 1); +}; +var _elm_lang$core$Color$greyscale = function (p) { + return A4(_elm_lang$core$Color$HSLA, 0, 0, 1 - p, 1); +}; +var _elm_lang$core$Color$RGBA = F4( + function (a, b, c, d) { + return {ctor: 'RGBA', _0: a, _1: b, _2: c, _3: d}; + }); +var _elm_lang$core$Color$rgba = _elm_lang$core$Color$RGBA; +var _elm_lang$core$Color$rgb = F3( + function (r, g, b) { + return A4(_elm_lang$core$Color$RGBA, r, g, b, 1); + }); +var _elm_lang$core$Color$lightRed = A4(_elm_lang$core$Color$RGBA, 239, 41, 41, 1); +var _elm_lang$core$Color$red = A4(_elm_lang$core$Color$RGBA, 204, 0, 0, 1); +var _elm_lang$core$Color$darkRed = A4(_elm_lang$core$Color$RGBA, 164, 0, 0, 1); +var _elm_lang$core$Color$lightOrange = A4(_elm_lang$core$Color$RGBA, 252, 175, 62, 1); +var _elm_lang$core$Color$orange = A4(_elm_lang$core$Color$RGBA, 245, 121, 0, 1); +var _elm_lang$core$Color$darkOrange = A4(_elm_lang$core$Color$RGBA, 206, 92, 0, 1); +var _elm_lang$core$Color$lightYellow = A4(_elm_lang$core$Color$RGBA, 255, 233, 79, 1); +var _elm_lang$core$Color$yellow = A4(_elm_lang$core$Color$RGBA, 237, 212, 0, 1); +var _elm_lang$core$Color$darkYellow = A4(_elm_lang$core$Color$RGBA, 196, 160, 0, 1); +var _elm_lang$core$Color$lightGreen = A4(_elm_lang$core$Color$RGBA, 138, 226, 52, 1); +var _elm_lang$core$Color$green = A4(_elm_lang$core$Color$RGBA, 115, 210, 22, 1); +var _elm_lang$core$Color$darkGreen = A4(_elm_lang$core$Color$RGBA, 78, 154, 6, 1); +var _elm_lang$core$Color$lightBlue = A4(_elm_lang$core$Color$RGBA, 114, 159, 207, 1); +var _elm_lang$core$Color$blue = A4(_elm_lang$core$Color$RGBA, 52, 101, 164, 1); +var _elm_lang$core$Color$darkBlue = A4(_elm_lang$core$Color$RGBA, 32, 74, 135, 1); +var _elm_lang$core$Color$lightPurple = A4(_elm_lang$core$Color$RGBA, 173, 127, 168, 1); +var _elm_lang$core$Color$purple = A4(_elm_lang$core$Color$RGBA, 117, 80, 123, 1); +var _elm_lang$core$Color$darkPurple = A4(_elm_lang$core$Color$RGBA, 92, 53, 102, 1); +var _elm_lang$core$Color$lightBrown = A4(_elm_lang$core$Color$RGBA, 233, 185, 110, 1); +var _elm_lang$core$Color$brown = A4(_elm_lang$core$Color$RGBA, 193, 125, 17, 1); +var _elm_lang$core$Color$darkBrown = A4(_elm_lang$core$Color$RGBA, 143, 89, 2, 1); +var _elm_lang$core$Color$black = A4(_elm_lang$core$Color$RGBA, 0, 0, 0, 1); +var _elm_lang$core$Color$white = A4(_elm_lang$core$Color$RGBA, 255, 255, 255, 1); +var _elm_lang$core$Color$lightGrey = A4(_elm_lang$core$Color$RGBA, 238, 238, 236, 1); +var _elm_lang$core$Color$grey = A4(_elm_lang$core$Color$RGBA, 211, 215, 207, 1); +var _elm_lang$core$Color$darkGrey = A4(_elm_lang$core$Color$RGBA, 186, 189, 182, 1); +var _elm_lang$core$Color$lightGray = A4(_elm_lang$core$Color$RGBA, 238, 238, 236, 1); +var _elm_lang$core$Color$gray = A4(_elm_lang$core$Color$RGBA, 211, 215, 207, 1); +var _elm_lang$core$Color$darkGray = A4(_elm_lang$core$Color$RGBA, 186, 189, 182, 1); +var _elm_lang$core$Color$lightCharcoal = A4(_elm_lang$core$Color$RGBA, 136, 138, 133, 1); +var _elm_lang$core$Color$charcoal = A4(_elm_lang$core$Color$RGBA, 85, 87, 83, 1); +var _elm_lang$core$Color$darkCharcoal = A4(_elm_lang$core$Color$RGBA, 46, 52, 54, 1); +var _elm_lang$core$Color$Radial = F5( + function (a, b, c, d, e) { + return {ctor: 'Radial', _0: a, _1: b, _2: c, _3: d, _4: e}; + }); +var _elm_lang$core$Color$radial = _elm_lang$core$Color$Radial; +var _elm_lang$core$Color$Linear = F3( + function (a, b, c) { + return {ctor: 'Linear', _0: a, _1: b, _2: c}; + }); +var _elm_lang$core$Color$linear = _elm_lang$core$Color$Linear; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmi new file mode 100644 index 0000000000000000000000000000000000000000..374b8c89232db917719db43502b99fc750da0a7f GIT binary patch literal 4329 zcmb_fTW;Gh5Ts05aUVc|-k=BQ1@afbFi@jTirPTFRfmp+NMayMX>llnTDj!JkqyQ&wNgyuSB%y0wk*_9yth-!-;cw@pEADr@bgsNkt)M-K_4 z&n9ose_GkP-Q!Q+<?XbZz3iylvMbT;s>5>XwRr@3vu$Bs z+b5WFv!&4VoR}}r?xKac>97*|)?gL%X5YbK(G)P(ISsa^7**<2N-WE?_mFtyw z&+Ml;bS1cerknhL9b=5o!xxNmd8yEzWh+HO&#N^W4U?w>?m!=2vgs0MF+rdmSBA3?V@N^~$k9%>V@Ejli!9=GV z>mLE7ztwm{L>)1b94|)SS4HfdESKoT%TD!^?iF76`i6g#*VMh3<$EJ-F65@YRzlQ% zsjyW-QBD`79dTP_kf$1P+=&)sEJ z@MdDb!oKLnaRHv2x(2^Ew;m#eB2x_7L|O-QMw+2XvqU3^r5Zsj*$86kMi5IlhFHpZ zEVz5{JELmRq*>h(#448{R=WhT>LrNPuYjO}31T%&5UXN>SRE6@Dw&|8TK>oP7wqTs A5C8xG literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo new file mode 100644 index 0000000..94ac728 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo @@ -0,0 +1,32 @@ +var _elm_lang$core$Date$millisecond = _elm_lang$core$Native_Date.millisecond; +var _elm_lang$core$Date$second = _elm_lang$core$Native_Date.second; +var _elm_lang$core$Date$minute = _elm_lang$core$Native_Date.minute; +var _elm_lang$core$Date$hour = _elm_lang$core$Native_Date.hour; +var _elm_lang$core$Date$dayOfWeek = _elm_lang$core$Native_Date.dayOfWeek; +var _elm_lang$core$Date$day = _elm_lang$core$Native_Date.day; +var _elm_lang$core$Date$month = _elm_lang$core$Native_Date.month; +var _elm_lang$core$Date$year = _elm_lang$core$Native_Date.year; +var _elm_lang$core$Date$fromTime = _elm_lang$core$Native_Date.fromTime; +var _elm_lang$core$Date$toTime = _elm_lang$core$Native_Date.toTime; +var _elm_lang$core$Date$fromString = _elm_lang$core$Native_Date.fromString; +var _elm_lang$core$Date$now = A2(_elm_lang$core$Task$map, _elm_lang$core$Date$fromTime, _elm_lang$core$Time$now); +var _elm_lang$core$Date$Date = {ctor: 'Date'}; +var _elm_lang$core$Date$Sun = {ctor: 'Sun'}; +var _elm_lang$core$Date$Sat = {ctor: 'Sat'}; +var _elm_lang$core$Date$Fri = {ctor: 'Fri'}; +var _elm_lang$core$Date$Thu = {ctor: 'Thu'}; +var _elm_lang$core$Date$Wed = {ctor: 'Wed'}; +var _elm_lang$core$Date$Tue = {ctor: 'Tue'}; +var _elm_lang$core$Date$Mon = {ctor: 'Mon'}; +var _elm_lang$core$Date$Dec = {ctor: 'Dec'}; +var _elm_lang$core$Date$Nov = {ctor: 'Nov'}; +var _elm_lang$core$Date$Oct = {ctor: 'Oct'}; +var _elm_lang$core$Date$Sep = {ctor: 'Sep'}; +var _elm_lang$core$Date$Aug = {ctor: 'Aug'}; +var _elm_lang$core$Date$Jul = {ctor: 'Jul'}; +var _elm_lang$core$Date$Jun = {ctor: 'Jun'}; +var _elm_lang$core$Date$May = {ctor: 'May'}; +var _elm_lang$core$Date$Apr = {ctor: 'Apr'}; +var _elm_lang$core$Date$Mar = {ctor: 'Mar'}; +var _elm_lang$core$Date$Feb = {ctor: 'Feb'}; +var _elm_lang$core$Date$Jan = {ctor: 'Jan'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmi new file mode 100644 index 0000000000000000000000000000000000000000..07f402422a025a6a4e7be82965ef590aa8a87aaa GIT binary patch literal 338 zcmZQzKmkH1JO&1i)SO)1oW#6zs5nb+}+oRbfeXJAb(N-WNR$}pm-Wb;cb z$t;8EXLU(UDuroehAFkOVt{F5Ok`k&Tf*X#SzH1$7omcn0;m?KyWqyL1(y_M=A|PH Tf~o`i1zi=Ai!d}m^&uz#Y1$h8 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo new file mode 100644 index 0000000..ea00ee2 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo @@ -0,0 +1,2 @@ +var _elm_lang$core$Debug$crash = _elm_lang$core$Native_Debug.crash; +var _elm_lang$core$Debug$log = _elm_lang$core$Native_Debug.log; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmi new file mode 100644 index 0000000000000000000000000000000000000000..58d6f830553930dbe2d8c690a7ae7a20d0e6d44e GIT binary patch literal 11861 zcmeHNOOM+&5SG@qY`19xB!~WrUYc8u?zU)v%^sWpIW8!h-UzFQA<0IzzrM6IA31cC zy0S@i6T}ybLvr3j4M!6M*6)Qi3WAwTvtLt@-xGYiDoRPuzhLb|X50D^qj{C&_o=Ll z9FQojAcG+rm0jb5C|@?P^Wevpq9rlP$_chU^& z;wGsymf5B(vIF3X){n0fLjyP_^bpd2v=CLY0!~233^8Dnx8gAdW1tb;iaOEioLtLz z2g71t^sX+I{fOQx`oDVpI>3rh1S22}EYfDh$pu=TMJiSgSJ?S)?uIp7QPJ)1MOwg& z6PL)MH;vPt&D!|SR6vc>o5f|U&2OaGa8aWh*9dPfLugy#<#N%)^qo3B?&6(_%p?!a zR;7`CbT$s|H5y6y0H+G~z{cu@G=v+!!w7V3!ZA4&0l$#m;8 z{`|+tGm>QezLehlsN1``p*}_aj=MR{xI_C?Nqclo<3nmD^RGKjW{ng{_0gvoCLLZB z1+ExTyo=-1TWtDt0FSsmqNePjy`MRz^TVph)QwUogX-hYc?Q=>WDr4G)wTC{#{~JI zMHYH4^J-Vh=EAWoirQyr`j;j`;Q@}p%*fLHqcg%WUyLT$2=_zKAd{lF0^*DxrUUaB zV__IGple59TxfcG{SMFcrvz;W|*32DKWx-}*%^ZcDRcp3~j>vf`tE$OTE-uvQ z0PS1qL!qZ-=_k!mbM1GmHEt`9s7br+Hy4X7B1j-e&)=zxXC z?l^!_Rboz|7#xS~Fw`NuH@CruI29f1_19i~9I5_=i*pCp!D^lBj=hHC_J|sY!~imPc!7HI3fn_|`i+bbvJ>K*tOw4q!uY$?BWhA!XU`$&^=xIC) 0) { + return { + ctor: '_Tuple2', + _0: _p8, + _1: A3(rightStep, rKey, rValue, _p9) + }; + } else { + return { + ctor: '_Tuple2', + _0: _p7, + _1: A4(bothStep, _p5, _p6, rValue, _p9) + }; + } + } + } + } + }); + var _p10 = A3( + _elm_lang$core$Dict$foldl, + stepState, + { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$toList(leftDict), + _1: initialResult + }, + rightDict); + var leftovers = _p10._0; + var intermediateResult = _p10._1; + return A3( + _elm_lang$core$List$foldl, + F2( + function (_p11, result) { + var _p12 = _p11; + return A3(leftStep, _p12._0, _p12._1, result); + }), + intermediateResult, + leftovers); + }); +var _elm_lang$core$Dict$reportRemBug = F4( + function (msg, c, lgot, rgot) { + return _elm_lang$core$Native_Debug.crash( + _elm_lang$core$String$concat( + { + ctor: '::', + _0: 'Internal red-black tree invariant violated, expected ', + _1: { + ctor: '::', + _0: msg, + _1: { + ctor: '::', + _0: ' and got ', + _1: { + ctor: '::', + _0: _elm_lang$core$Basics$toString(c), + _1: { + ctor: '::', + _0: '/', + _1: { + ctor: '::', + _0: lgot, + _1: { + ctor: '::', + _0: '/', + _1: { + ctor: '::', + _0: rgot, + _1: { + ctor: '::', + _0: '\nPlease report this bug to ', + _1: {ctor: '[]'} + } + } + } + } + } + } + } + } + })); + }); +var _elm_lang$core$Dict$isBBlack = function (dict) { + var _p13 = dict; + _v14_2: + do { + if (_p13.ctor === 'RBNode_elm_builtin') { + if (_p13._0.ctor === 'BBlack') { + return true; + } else { + break _v14_2; + } + } else { + if (_p13._0.ctor === 'LBBlack') { + return true; + } else { + break _v14_2; + } + } + } while(false); + return false; +}; +var _elm_lang$core$Dict$sizeHelp = F2( + function (n, dict) { + sizeHelp: + while (true) { + var _p14 = dict; + if (_p14.ctor === 'RBEmpty_elm_builtin') { + return n; + } else { + var _v16 = A2(_elm_lang$core$Dict$sizeHelp, n + 1, _p14._4), + _v17 = _p14._3; + n = _v16; + dict = _v17; + continue sizeHelp; + } + } + }); +var _elm_lang$core$Dict$size = function (dict) { + return A2(_elm_lang$core$Dict$sizeHelp, 0, dict); +}; +var _elm_lang$core$Dict$get = F2( + function (targetKey, dict) { + get: + while (true) { + var _p15 = dict; + if (_p15.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Maybe$Nothing; + } else { + var _p16 = A2(_elm_lang$core$Basics$compare, targetKey, _p15._1); + switch (_p16.ctor) { + case 'LT': + var _v20 = targetKey, + _v21 = _p15._3; + targetKey = _v20; + dict = _v21; + continue get; + case 'EQ': + return _elm_lang$core$Maybe$Just(_p15._2); + default: + var _v22 = targetKey, + _v23 = _p15._4; + targetKey = _v22; + dict = _v23; + continue get; + } + } + } + }); +var _elm_lang$core$Dict$member = F2( + function (key, dict) { + var _p17 = A2(_elm_lang$core$Dict$get, key, dict); + if (_p17.ctor === 'Just') { + return true; + } else { + return false; + } + }); +var _elm_lang$core$Dict$maxWithDefault = F3( + function (k, v, r) { + maxWithDefault: + while (true) { + var _p18 = r; + if (_p18.ctor === 'RBEmpty_elm_builtin') { + return {ctor: '_Tuple2', _0: k, _1: v}; + } else { + var _v26 = _p18._1, + _v27 = _p18._2, + _v28 = _p18._4; + k = _v26; + v = _v27; + r = _v28; + continue maxWithDefault; + } + } + }); +var _elm_lang$core$Dict$NBlack = {ctor: 'NBlack'}; +var _elm_lang$core$Dict$BBlack = {ctor: 'BBlack'}; +var _elm_lang$core$Dict$Black = {ctor: 'Black'}; +var _elm_lang$core$Dict$blackish = function (t) { + var _p19 = t; + if (_p19.ctor === 'RBNode_elm_builtin') { + var _p20 = _p19._0; + return _elm_lang$core$Native_Utils.eq(_p20, _elm_lang$core$Dict$Black) || _elm_lang$core$Native_Utils.eq(_p20, _elm_lang$core$Dict$BBlack); + } else { + return true; + } +}; +var _elm_lang$core$Dict$Red = {ctor: 'Red'}; +var _elm_lang$core$Dict$moreBlack = function (color) { + var _p21 = color; + switch (_p21.ctor) { + case 'Black': + return _elm_lang$core$Dict$BBlack; + case 'Red': + return _elm_lang$core$Dict$Black; + case 'NBlack': + return _elm_lang$core$Dict$Red; + default: + return _elm_lang$core$Native_Debug.crash('Can\'t make a double black node more black!'); + } +}; +var _elm_lang$core$Dict$lessBlack = function (color) { + var _p22 = color; + switch (_p22.ctor) { + case 'BBlack': + return _elm_lang$core$Dict$Black; + case 'Black': + return _elm_lang$core$Dict$Red; + case 'Red': + return _elm_lang$core$Dict$NBlack; + default: + return _elm_lang$core$Native_Debug.crash('Can\'t make a negative black node less black!'); + } +}; +var _elm_lang$core$Dict$LBBlack = {ctor: 'LBBlack'}; +var _elm_lang$core$Dict$LBlack = {ctor: 'LBlack'}; +var _elm_lang$core$Dict$RBEmpty_elm_builtin = function (a) { + return {ctor: 'RBEmpty_elm_builtin', _0: a}; +}; +var _elm_lang$core$Dict$empty = _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); +var _elm_lang$core$Dict$isEmpty = function (dict) { + return _elm_lang$core$Native_Utils.eq(dict, _elm_lang$core$Dict$empty); +}; +var _elm_lang$core$Dict$RBNode_elm_builtin = F5( + function (a, b, c, d, e) { + return {ctor: 'RBNode_elm_builtin', _0: a, _1: b, _2: c, _3: d, _4: e}; + }); +var _elm_lang$core$Dict$ensureBlackRoot = function (dict) { + var _p23 = dict; + if ((_p23.ctor === 'RBNode_elm_builtin') && (_p23._0.ctor === 'Red')) { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p23._1, _p23._2, _p23._3, _p23._4); + } else { + return dict; + } +}; +var _elm_lang$core$Dict$lessBlackTree = function (dict) { + var _p24 = dict; + if (_p24.ctor === 'RBNode_elm_builtin') { + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$lessBlack(_p24._0), + _p24._1, + _p24._2, + _p24._3, + _p24._4); + } else { + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + } +}; +var _elm_lang$core$Dict$balancedTree = function (col) { + return function (xk) { + return function (xv) { + return function (yk) { + return function (yv) { + return function (zk) { + return function (zv) { + return function (a) { + return function (b) { + return function (c) { + return function (d) { + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$lessBlack(col), + yk, + yv, + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, xk, xv, a, b), + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, zk, zv, c, d)); + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; +}; +var _elm_lang$core$Dict$blacken = function (t) { + var _p25 = t; + if (_p25.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + } else { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p25._1, _p25._2, _p25._3, _p25._4); + } +}; +var _elm_lang$core$Dict$redden = function (t) { + var _p26 = t; + if (_p26.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Native_Debug.crash('can\'t make a Leaf red'); + } else { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Red, _p26._1, _p26._2, _p26._3, _p26._4); + } +}; +var _elm_lang$core$Dict$balanceHelp = function (tree) { + var _p27 = tree; + _v36_6: + do { + _v36_5: + do { + _v36_4: + do { + _v36_3: + do { + _v36_2: + do { + _v36_1: + do { + _v36_0: + do { + if (_p27.ctor === 'RBNode_elm_builtin') { + if (_p27._3.ctor === 'RBNode_elm_builtin') { + if (_p27._4.ctor === 'RBNode_elm_builtin') { + switch (_p27._3._0.ctor) { + case 'Red': + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + break _v36_6; + } + } + } + } + case 'NBlack': + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + if (((((_p27._0.ctor === 'BBlack') && (_p27._4._3.ctor === 'RBNode_elm_builtin')) && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + break _v36_6; + } + } + } + default: + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + break _v36_6; + } + } + } + case 'NBlack': + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + if (((((_p27._0.ctor === 'BBlack') && (_p27._3._3.ctor === 'RBNode_elm_builtin')) && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + } + } + case 'NBlack': + if (_p27._0.ctor === 'BBlack') { + if ((((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + if ((((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + } + } else { + break _v36_6; + } + default: + if (((((_p27._0.ctor === 'BBlack') && (_p27._3._3.ctor === 'RBNode_elm_builtin')) && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + } + default: + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + break _v36_6; + } + } + case 'NBlack': + if (((((_p27._0.ctor === 'BBlack') && (_p27._4._3.ctor === 'RBNode_elm_builtin')) && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + break _v36_6; + } + default: + break _v36_6; + } + } + } else { + switch (_p27._3._0.ctor) { + case 'Red': + if ((_p27._3._3.ctor === 'RBNode_elm_builtin') && (_p27._3._3._0.ctor === 'Red')) { + break _v36_0; + } else { + if ((_p27._3._4.ctor === 'RBNode_elm_builtin') && (_p27._3._4._0.ctor === 'Red')) { + break _v36_1; + } else { + break _v36_6; + } + } + case 'NBlack': + if (((((_p27._0.ctor === 'BBlack') && (_p27._3._3.ctor === 'RBNode_elm_builtin')) && (_p27._3._3._0.ctor === 'Black')) && (_p27._3._4.ctor === 'RBNode_elm_builtin')) && (_p27._3._4._0.ctor === 'Black')) { + break _v36_5; + } else { + break _v36_6; + } + default: + break _v36_6; + } + } + } else { + if (_p27._4.ctor === 'RBNode_elm_builtin') { + switch (_p27._4._0.ctor) { + case 'Red': + if ((_p27._4._3.ctor === 'RBNode_elm_builtin') && (_p27._4._3._0.ctor === 'Red')) { + break _v36_2; + } else { + if ((_p27._4._4.ctor === 'RBNode_elm_builtin') && (_p27._4._4._0.ctor === 'Red')) { + break _v36_3; + } else { + break _v36_6; + } + } + case 'NBlack': + if (((((_p27._0.ctor === 'BBlack') && (_p27._4._3.ctor === 'RBNode_elm_builtin')) && (_p27._4._3._0.ctor === 'Black')) && (_p27._4._4.ctor === 'RBNode_elm_builtin')) && (_p27._4._4._0.ctor === 'Black')) { + break _v36_4; + } else { + break _v36_6; + } + default: + break _v36_6; + } + } else { + break _v36_6; + } + } + } else { + break _v36_6; + } + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._3._3._1)(_p27._3._3._2)(_p27._3._1)(_p27._3._2)(_p27._1)(_p27._2)(_p27._3._3._3)(_p27._3._3._4)(_p27._3._4)(_p27._4); + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._3._1)(_p27._3._2)(_p27._3._4._1)(_p27._3._4._2)(_p27._1)(_p27._2)(_p27._3._3)(_p27._3._4._3)(_p27._3._4._4)(_p27._4); + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._1)(_p27._2)(_p27._4._3._1)(_p27._4._3._2)(_p27._4._1)(_p27._4._2)(_p27._3)(_p27._4._3._3)(_p27._4._3._4)(_p27._4._4); + } while(false); + return _elm_lang$core$Dict$balancedTree(_p27._0)(_p27._1)(_p27._2)(_p27._4._1)(_p27._4._2)(_p27._4._4._1)(_p27._4._4._2)(_p27._3)(_p27._4._3)(_p27._4._4._3)(_p27._4._4._4); + } while(false); + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$Black, + _p27._4._3._1, + _p27._4._3._2, + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p27._1, _p27._2, _p27._3, _p27._4._3._3), + A5( + _elm_lang$core$Dict$balance, + _elm_lang$core$Dict$Black, + _p27._4._1, + _p27._4._2, + _p27._4._3._4, + _elm_lang$core$Dict$redden(_p27._4._4))); + } while(false); + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _elm_lang$core$Dict$Black, + _p27._3._4._1, + _p27._3._4._2, + A5( + _elm_lang$core$Dict$balance, + _elm_lang$core$Dict$Black, + _p27._3._1, + _p27._3._2, + _elm_lang$core$Dict$redden(_p27._3._3), + _p27._3._4._3), + A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p27._1, _p27._2, _p27._3._4._4, _p27._4)); + } while(false); + return tree; +}; +var _elm_lang$core$Dict$balance = F5( + function (c, k, v, l, r) { + var tree = A5(_elm_lang$core$Dict$RBNode_elm_builtin, c, k, v, l, r); + return _elm_lang$core$Dict$blackish(tree) ? _elm_lang$core$Dict$balanceHelp(tree) : tree; + }); +var _elm_lang$core$Dict$bubble = F5( + function (c, k, v, l, r) { + return (_elm_lang$core$Dict$isBBlack(l) || _elm_lang$core$Dict$isBBlack(r)) ? A5( + _elm_lang$core$Dict$balance, + _elm_lang$core$Dict$moreBlack(c), + k, + v, + _elm_lang$core$Dict$lessBlackTree(l), + _elm_lang$core$Dict$lessBlackTree(r)) : A5(_elm_lang$core$Dict$RBNode_elm_builtin, c, k, v, l, r); + }); +var _elm_lang$core$Dict$removeMax = F5( + function (c, k, v, l, r) { + var _p28 = r; + if (_p28.ctor === 'RBEmpty_elm_builtin') { + return A3(_elm_lang$core$Dict$rem, c, l, r); + } else { + return A5( + _elm_lang$core$Dict$bubble, + c, + k, + v, + l, + A5(_elm_lang$core$Dict$removeMax, _p28._0, _p28._1, _p28._2, _p28._3, _p28._4)); + } + }); +var _elm_lang$core$Dict$rem = F3( + function (color, left, right) { + var _p29 = {ctor: '_Tuple2', _0: left, _1: right}; + if (_p29._0.ctor === 'RBEmpty_elm_builtin') { + if (_p29._1.ctor === 'RBEmpty_elm_builtin') { + var _p30 = color; + switch (_p30.ctor) { + case 'Red': + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + case 'Black': + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBBlack); + default: + return _elm_lang$core$Native_Debug.crash('cannot have bblack or nblack nodes at this point'); + } + } else { + var _p33 = _p29._1._0; + var _p32 = _p29._0._0; + var _p31 = {ctor: '_Tuple3', _0: color, _1: _p32, _2: _p33}; + if ((((_p31.ctor === '_Tuple3') && (_p31._0.ctor === 'Black')) && (_p31._1.ctor === 'LBlack')) && (_p31._2.ctor === 'Red')) { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p29._1._1, _p29._1._2, _p29._1._3, _p29._1._4); + } else { + return A4( + _elm_lang$core$Dict$reportRemBug, + 'Black/LBlack/Red', + color, + _elm_lang$core$Basics$toString(_p32), + _elm_lang$core$Basics$toString(_p33)); + } + } + } else { + if (_p29._1.ctor === 'RBEmpty_elm_builtin') { + var _p36 = _p29._1._0; + var _p35 = _p29._0._0; + var _p34 = {ctor: '_Tuple3', _0: color, _1: _p35, _2: _p36}; + if ((((_p34.ctor === '_Tuple3') && (_p34._0.ctor === 'Black')) && (_p34._1.ctor === 'Red')) && (_p34._2.ctor === 'LBlack')) { + return A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Black, _p29._0._1, _p29._0._2, _p29._0._3, _p29._0._4); + } else { + return A4( + _elm_lang$core$Dict$reportRemBug, + 'Black/Red/LBlack', + color, + _elm_lang$core$Basics$toString(_p35), + _elm_lang$core$Basics$toString(_p36)); + } + } else { + var _p40 = _p29._0._2; + var _p39 = _p29._0._4; + var _p38 = _p29._0._1; + var newLeft = A5(_elm_lang$core$Dict$removeMax, _p29._0._0, _p38, _p40, _p29._0._3, _p39); + var _p37 = A3(_elm_lang$core$Dict$maxWithDefault, _p38, _p40, _p39); + var k = _p37._0; + var v = _p37._1; + return A5(_elm_lang$core$Dict$bubble, color, k, v, newLeft, right); + } + } + }); +var _elm_lang$core$Dict$map = F2( + function (f, dict) { + var _p41 = dict; + if (_p41.ctor === 'RBEmpty_elm_builtin') { + return _elm_lang$core$Dict$RBEmpty_elm_builtin(_elm_lang$core$Dict$LBlack); + } else { + var _p42 = _p41._1; + return A5( + _elm_lang$core$Dict$RBNode_elm_builtin, + _p41._0, + _p42, + A2(f, _p42, _p41._2), + A2(_elm_lang$core$Dict$map, f, _p41._3), + A2(_elm_lang$core$Dict$map, f, _p41._4)); + } + }); +var _elm_lang$core$Dict$Same = {ctor: 'Same'}; +var _elm_lang$core$Dict$Remove = {ctor: 'Remove'}; +var _elm_lang$core$Dict$Insert = {ctor: 'Insert'}; +var _elm_lang$core$Dict$update = F3( + function (k, alter, dict) { + var up = function (dict) { + var _p43 = dict; + if (_p43.ctor === 'RBEmpty_elm_builtin') { + var _p44 = alter(_elm_lang$core$Maybe$Nothing); + if (_p44.ctor === 'Nothing') { + return {ctor: '_Tuple2', _0: _elm_lang$core$Dict$Same, _1: _elm_lang$core$Dict$empty}; + } else { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Insert, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _elm_lang$core$Dict$Red, k, _p44._0, _elm_lang$core$Dict$empty, _elm_lang$core$Dict$empty) + }; + } + } else { + var _p55 = _p43._2; + var _p54 = _p43._4; + var _p53 = _p43._3; + var _p52 = _p43._1; + var _p51 = _p43._0; + var _p45 = A2(_elm_lang$core$Basics$compare, k, _p52); + switch (_p45.ctor) { + case 'EQ': + var _p46 = alter( + _elm_lang$core$Maybe$Just(_p55)); + if (_p46.ctor === 'Nothing') { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Remove, + _1: A3(_elm_lang$core$Dict$rem, _p51, _p53, _p54) + }; + } else { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Same, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _p51, _p52, _p46._0, _p53, _p54) + }; + } + case 'LT': + var _p47 = up(_p53); + var flag = _p47._0; + var newLeft = _p47._1; + var _p48 = flag; + switch (_p48.ctor) { + case 'Same': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Same, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _p51, _p52, _p55, newLeft, _p54) + }; + case 'Insert': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Insert, + _1: A5(_elm_lang$core$Dict$balance, _p51, _p52, _p55, newLeft, _p54) + }; + default: + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Remove, + _1: A5(_elm_lang$core$Dict$bubble, _p51, _p52, _p55, newLeft, _p54) + }; + } + default: + var _p49 = up(_p54); + var flag = _p49._0; + var newRight = _p49._1; + var _p50 = flag; + switch (_p50.ctor) { + case 'Same': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Same, + _1: A5(_elm_lang$core$Dict$RBNode_elm_builtin, _p51, _p52, _p55, _p53, newRight) + }; + case 'Insert': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Insert, + _1: A5(_elm_lang$core$Dict$balance, _p51, _p52, _p55, _p53, newRight) + }; + default: + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Dict$Remove, + _1: A5(_elm_lang$core$Dict$bubble, _p51, _p52, _p55, _p53, newRight) + }; + } + } + } + }; + var _p56 = up(dict); + var flag = _p56._0; + var updatedDict = _p56._1; + var _p57 = flag; + switch (_p57.ctor) { + case 'Same': + return updatedDict; + case 'Insert': + return _elm_lang$core$Dict$ensureBlackRoot(updatedDict); + default: + return _elm_lang$core$Dict$blacken(updatedDict); + } + }); +var _elm_lang$core$Dict$insert = F3( + function (key, value, dict) { + return A3( + _elm_lang$core$Dict$update, + key, + _elm_lang$core$Basics$always( + _elm_lang$core$Maybe$Just(value)), + dict); + }); +var _elm_lang$core$Dict$singleton = F2( + function (key, value) { + return A3(_elm_lang$core$Dict$insert, key, value, _elm_lang$core$Dict$empty); + }); +var _elm_lang$core$Dict$union = F2( + function (t1, t2) { + return A3(_elm_lang$core$Dict$foldl, _elm_lang$core$Dict$insert, t2, t1); + }); +var _elm_lang$core$Dict$filter = F2( + function (predicate, dictionary) { + var add = F3( + function (key, value, dict) { + return A2(predicate, key, value) ? A3(_elm_lang$core$Dict$insert, key, value, dict) : dict; + }); + return A3(_elm_lang$core$Dict$foldl, add, _elm_lang$core$Dict$empty, dictionary); + }); +var _elm_lang$core$Dict$intersect = F2( + function (t1, t2) { + return A2( + _elm_lang$core$Dict$filter, + F2( + function (k, _p58) { + return A2(_elm_lang$core$Dict$member, k, t2); + }), + t1); + }); +var _elm_lang$core$Dict$partition = F2( + function (predicate, dict) { + var add = F3( + function (key, value, _p59) { + var _p60 = _p59; + var _p62 = _p60._1; + var _p61 = _p60._0; + return A2(predicate, key, value) ? { + ctor: '_Tuple2', + _0: A3(_elm_lang$core$Dict$insert, key, value, _p61), + _1: _p62 + } : { + ctor: '_Tuple2', + _0: _p61, + _1: A3(_elm_lang$core$Dict$insert, key, value, _p62) + }; + }); + return A3( + _elm_lang$core$Dict$foldl, + add, + {ctor: '_Tuple2', _0: _elm_lang$core$Dict$empty, _1: _elm_lang$core$Dict$empty}, + dict); + }); +var _elm_lang$core$Dict$fromList = function (assocs) { + return A3( + _elm_lang$core$List$foldl, + F2( + function (_p63, dict) { + var _p64 = _p63; + return A3(_elm_lang$core$Dict$insert, _p64._0, _p64._1, dict); + }), + _elm_lang$core$Dict$empty, + assocs); +}; +var _elm_lang$core$Dict$remove = F2( + function (key, dict) { + return A3( + _elm_lang$core$Dict$update, + key, + _elm_lang$core$Basics$always(_elm_lang$core$Maybe$Nothing), + dict); + }); +var _elm_lang$core$Dict$diff = F2( + function (t1, t2) { + return A3( + _elm_lang$core$Dict$foldl, + F3( + function (k, v, t) { + return A2(_elm_lang$core$Dict$remove, k, t); + }), + t1, + t2); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmi new file mode 100644 index 0000000000000000000000000000000000000000..091b7c36b43888318d13f801cc9788dda852d2da GIT binary patch literal 10952 zcmeHNS#Q%o5Z)wqQVDqB7xWJxA#U{zRFFVif{ItPw%4tNYgb8A(f)eY_I!IdBsD2x zk>b2$XOEekZ;m~@LU_OX9wo${%1|Y)WW_nk zVValHP(43aE1P4|AN%WpDYs?Rc;FVH1SGnFTx##T<4 z6^Z(ZhVWEgMn+^<7V1-qw!4Xn%S3(kw7Jt%)&kLSaw^YI4s`jEOFVXoCob{SC7!v& zbC-Bwh+JM72*Qg>Wz$rF2V%BZ#<5aH`5={Ji;nI&?LPQ8s7GamCeTWCMZhRp-bfeTGR-LQLkZU|2t}CXL3cJk$!?y8wehK6e z_2R@O4G4(fm0be;RfS75TtFueGYc|bH<4iA=Tx5>w^?J5Nm<@%*-bEbZsRs0#0+kh zs=T#NjJ6MEZ^di4c0&Pr_<;M=_3$_Qq;3*#f;*RlZhV22yZ>;@9dN35NI(F2uA6j> z+R9&>EJS-%aDx2Xu<}Z*y!Bq63sHky_{KR>&`#epPTuOX2iFwfgw_5L<(nlT>@Nwy z)g`++OK}PFL2IVaI%si;26}u*uG#0<>e=_BnxmOPjTk)KU5u<1$p4z- z`0grXt-I#jM|w7gd8e6)u+VsZF6eE;+)0{s!N8IM~u4O84_4N;M z^uV>XG1_kv&itl~dpD)Nyo0IMnbLMh&~>nCooPDWb;bOSll1O5`l1)!(7|zRUxiVF z5B+OC#P6o6cQ@6aAmDI+=B9R73I>D6{)ZmR9~5ctL7_jz!Kb$l3d`XbyoUG~;$z*1 zblf6raif^>hv0GVA*erqBW(Ug2wG+*U^_(P5RE$;jr;+B(rduegB)&|oR`bUDx0qV z(Z_q~;t{L&{XzZ62P643uoCL5pkIBNr&)tpR?R|>#@5^~?=E61Zb0w)xHQ7H$9(>5 zywAL5v-9Daft5gx-|P#x#O=Ui1;PQqv_DCrS)xGyt$tK%HeUYoiZQrv%9n5sZ%_Q2 I*A)=;3#POn5C8xG literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo new file mode 100644 index 0000000..10795ad --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo @@ -0,0 +1,62 @@ +var _elm_lang$core$Json_Decode$null = _elm_lang$core$Native_Json.decodeNull; +var _elm_lang$core$Json_Decode$value = _elm_lang$core$Native_Json.decodePrimitive('value'); +var _elm_lang$core$Json_Decode$andThen = _elm_lang$core$Native_Json.andThen; +var _elm_lang$core$Json_Decode$fail = _elm_lang$core$Native_Json.fail; +var _elm_lang$core$Json_Decode$succeed = _elm_lang$core$Native_Json.succeed; +var _elm_lang$core$Json_Decode$lazy = function (thunk) { + return A2( + _elm_lang$core$Json_Decode$andThen, + thunk, + _elm_lang$core$Json_Decode$succeed( + {ctor: '_Tuple0'})); +}; +var _elm_lang$core$Json_Decode$decodeValue = _elm_lang$core$Native_Json.run; +var _elm_lang$core$Json_Decode$decodeString = _elm_lang$core$Native_Json.runOnString; +var _elm_lang$core$Json_Decode$map8 = _elm_lang$core$Native_Json.map8; +var _elm_lang$core$Json_Decode$map7 = _elm_lang$core$Native_Json.map7; +var _elm_lang$core$Json_Decode$map6 = _elm_lang$core$Native_Json.map6; +var _elm_lang$core$Json_Decode$map5 = _elm_lang$core$Native_Json.map5; +var _elm_lang$core$Json_Decode$map4 = _elm_lang$core$Native_Json.map4; +var _elm_lang$core$Json_Decode$map3 = _elm_lang$core$Native_Json.map3; +var _elm_lang$core$Json_Decode$map2 = _elm_lang$core$Native_Json.map2; +var _elm_lang$core$Json_Decode$map = _elm_lang$core$Native_Json.map1; +var _elm_lang$core$Json_Decode$oneOf = _elm_lang$core$Native_Json.oneOf; +var _elm_lang$core$Json_Decode$maybe = function (decoder) { + return A2(_elm_lang$core$Native_Json.decodeContainer, 'maybe', decoder); +}; +var _elm_lang$core$Json_Decode$index = _elm_lang$core$Native_Json.decodeIndex; +var _elm_lang$core$Json_Decode$field = _elm_lang$core$Native_Json.decodeField; +var _elm_lang$core$Json_Decode$at = F2( + function (fields, decoder) { + return A3(_elm_lang$core$List$foldr, _elm_lang$core$Json_Decode$field, decoder, fields); + }); +var _elm_lang$core$Json_Decode$keyValuePairs = _elm_lang$core$Native_Json.decodeKeyValuePairs; +var _elm_lang$core$Json_Decode$dict = function (decoder) { + return A2( + _elm_lang$core$Json_Decode$map, + _elm_lang$core$Dict$fromList, + _elm_lang$core$Json_Decode$keyValuePairs(decoder)); +}; +var _elm_lang$core$Json_Decode$array = function (decoder) { + return A2(_elm_lang$core$Native_Json.decodeContainer, 'array', decoder); +}; +var _elm_lang$core$Json_Decode$list = function (decoder) { + return A2(_elm_lang$core$Native_Json.decodeContainer, 'list', decoder); +}; +var _elm_lang$core$Json_Decode$nullable = function (decoder) { + return _elm_lang$core$Json_Decode$oneOf( + { + ctor: '::', + _0: _elm_lang$core$Json_Decode$null(_elm_lang$core$Maybe$Nothing), + _1: { + ctor: '::', + _0: A2(_elm_lang$core$Json_Decode$map, _elm_lang$core$Maybe$Just, decoder), + _1: {ctor: '[]'} + } + }); +}; +var _elm_lang$core$Json_Decode$float = _elm_lang$core$Native_Json.decodePrimitive('float'); +var _elm_lang$core$Json_Decode$int = _elm_lang$core$Native_Json.decodePrimitive('int'); +var _elm_lang$core$Json_Decode$bool = _elm_lang$core$Native_Json.decodePrimitive('bool'); +var _elm_lang$core$Json_Decode$string = _elm_lang$core$Native_Json.decodePrimitive('string'); +var _elm_lang$core$Json_Decode$Decoder = {ctor: 'Decoder'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmi new file mode 100644 index 0000000000000000000000000000000000000000..42a0c0930629c00919897e67aa3887f85d711fb9 GIT binary patch literal 1826 zcmcIlO;3a{5FMbcMsNNPFCO=%$(m@47mZib#jasfTf>Km|K0`Xm6EtChr$Jhd42CO z%(O(4>tYfSof`XbX|;Rj_oDQ*;pa18m2sti!)sDaTUTKP6_sm&lw0d{h{VQwiu=zc-|S4;<{ZlxZMz^15V9Fi*AWGh>QT4V7uJgV#yf_e^F3d!2o#y7 z0xL;8jQ+9_@h<>&2Gcnf9xE~=V|!{H*LzX{u2nIM8~QS?&LqfY@yzv@l#EOH+e2_b z;%47cOX#4-gHmy~Z|kH=fm%Jq1H>~Evhuc{p`^-O%VAQ3PXB>RsEA><4~$Au!K7s9 zw|<*if|&QULz~Q4uanp3?$eqpHk5}S#%+_-Tv9T2jPqepKp;_&s!AM@len!#UP`i6%df|YJu`N++ey`c z*voqC@%POm9zTM>`@Qg_AUKgl`MMC*jqQ)Jx|O#55_C7J`&c&p1IS4stDF87#7!&j zWZS{CASq>;$`*#BTPboBdZ7vsl517;j$$u+L@{}Ti3X@ZX40|s#kRd81cUPt&lk^1-2vIegkTQ@YWUHxx#x8w#LN^ zLfIOloSsuv$UPFH+g7db|7lrU;xw=V&H)3kNI&oDBZQrxT38821k%AqI-M^u>6 zxXVO^BT-kk2$>AR4mD2(@rT0fht`yp{ZDqHQ&~6ZjW5JQ3K?62>NnA=JLrwRst!nB zS&bpJ0K5`G2r~m$c|{tmg2gpqpm~J5tLuX2ndlqTaE#}|pzuZWp0OIN0;I*Rnj`v0 zy2)==!Sc8ZVgBrt&kkomY7Hq5-{L+}KR1<#h6yai*CZKoP}(zd>SlH#SwvXG7Qz&D%Zj6B|Ef zavWO==FrgSTMGtoI6~<21VSJBJd;*- z`(j32V%JB?!~vL$|ATG%cyrJ;>djyrCNmr}_HaJF8AAfLkR$qN28McthI%t<=Aa5V z4Baw5vFXbhGr(H%TAx9|l^I@>u7p_t$uR$`0I(sFjG^F<2@xKZnOUb54b+C<5!L}R@${*@VpP+$kB^D=Mr4Bk9Sgv$vH1mU-A6d>~i-Wa$1NWByD>=?( zkzAZOz*sya(?%=U{Jh#Xg@ilhnns>^zrkxEgP2tN;ieA0SkaniZ`o+=xI22%5p++- zf^Eku`)64+fj{g^a}ej~SXRB_$9Dst1l)B~aU|dt=hWbg<{zOa(20XIz|S;v_@2T} zU=^(WaJ?s6X!)nu>C^;%7j{15!?8;(w|PupEOiRud`(M$4;1K#fR+Qx7b1pOZ*%77 zynq0Y9;4=yHVOZ^B>vv!`aO)bgjKMnj!#95@}o5%8lUSJga!8}mdQG%?b1(${<3E0 zvI>yk0sNEDuTegMFR^H>f~7kf=q~LO>JvGZ`&33NuJq&VrOYONvyQL|)>HemdPJSN gr~4wUEo?bQlBqV~94<_=E0?tz|A1V-N;M1& literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo new file mode 100644 index 0000000..58b74c2 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo @@ -0,0 +1,545 @@ +var _elm_lang$core$List$sortWith = _elm_lang$core$Native_List.sortWith; +var _elm_lang$core$List$sortBy = _elm_lang$core$Native_List.sortBy; +var _elm_lang$core$List$sort = function (xs) { + return A2(_elm_lang$core$List$sortBy, _elm_lang$core$Basics$identity, xs); +}; +var _elm_lang$core$List$drop = F2( + function (n, list) { + drop: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) { + return list; + } else { + var _p0 = list; + if (_p0.ctor === '[]') { + return list; + } else { + var _v1 = n - 1, + _v2 = _p0._1; + n = _v1; + list = _v2; + continue drop; + } + } + } + }); +var _elm_lang$core$List$map5 = _elm_lang$core$Native_List.map5; +var _elm_lang$core$List$map4 = _elm_lang$core$Native_List.map4; +var _elm_lang$core$List$map3 = _elm_lang$core$Native_List.map3; +var _elm_lang$core$List$map2 = _elm_lang$core$Native_List.map2; +var _elm_lang$core$List$any = F2( + function (isOkay, list) { + any: + while (true) { + var _p1 = list; + if (_p1.ctor === '[]') { + return false; + } else { + if (isOkay(_p1._0)) { + return true; + } else { + var _v4 = isOkay, + _v5 = _p1._1; + isOkay = _v4; + list = _v5; + continue any; + } + } + } + }); +var _elm_lang$core$List$all = F2( + function (isOkay, list) { + return !A2( + _elm_lang$core$List$any, + function (_p2) { + return !isOkay(_p2); + }, + list); + }); +var _elm_lang$core$List$foldr = _elm_lang$core$Native_List.foldr; +var _elm_lang$core$List$foldl = F3( + function (func, acc, list) { + foldl: + while (true) { + var _p3 = list; + if (_p3.ctor === '[]') { + return acc; + } else { + var _v7 = func, + _v8 = A2(func, _p3._0, acc), + _v9 = _p3._1; + func = _v7; + acc = _v8; + list = _v9; + continue foldl; + } + } + }); +var _elm_lang$core$List$length = function (xs) { + return A3( + _elm_lang$core$List$foldl, + F2( + function (_p4, i) { + return i + 1; + }), + 0, + xs); +}; +var _elm_lang$core$List$sum = function (numbers) { + return A3( + _elm_lang$core$List$foldl, + F2( + function (x, y) { + return x + y; + }), + 0, + numbers); +}; +var _elm_lang$core$List$product = function (numbers) { + return A3( + _elm_lang$core$List$foldl, + F2( + function (x, y) { + return x * y; + }), + 1, + numbers); +}; +var _elm_lang$core$List$maximum = function (list) { + var _p5 = list; + if (_p5.ctor === '::') { + return _elm_lang$core$Maybe$Just( + A3(_elm_lang$core$List$foldl, _elm_lang$core$Basics$max, _p5._0, _p5._1)); + } else { + return _elm_lang$core$Maybe$Nothing; + } +}; +var _elm_lang$core$List$minimum = function (list) { + var _p6 = list; + if (_p6.ctor === '::') { + return _elm_lang$core$Maybe$Just( + A3(_elm_lang$core$List$foldl, _elm_lang$core$Basics$min, _p6._0, _p6._1)); + } else { + return _elm_lang$core$Maybe$Nothing; + } +}; +var _elm_lang$core$List$member = F2( + function (x, xs) { + return A2( + _elm_lang$core$List$any, + function (a) { + return _elm_lang$core$Native_Utils.eq(a, x); + }, + xs); + }); +var _elm_lang$core$List$isEmpty = function (xs) { + var _p7 = xs; + if (_p7.ctor === '[]') { + return true; + } else { + return false; + } +}; +var _elm_lang$core$List$tail = function (list) { + var _p8 = list; + if (_p8.ctor === '::') { + return _elm_lang$core$Maybe$Just(_p8._1); + } else { + return _elm_lang$core$Maybe$Nothing; + } +}; +var _elm_lang$core$List$head = function (list) { + var _p9 = list; + if (_p9.ctor === '::') { + return _elm_lang$core$Maybe$Just(_p9._0); + } else { + return _elm_lang$core$Maybe$Nothing; + } +}; +var _elm_lang$core$List_ops = _elm_lang$core$List_ops || {}; +_elm_lang$core$List_ops['::'] = _elm_lang$core$Native_List.cons; +var _elm_lang$core$List$map = F2( + function (f, xs) { + return A3( + _elm_lang$core$List$foldr, + F2( + function (x, acc) { + return { + ctor: '::', + _0: f(x), + _1: acc + }; + }), + {ctor: '[]'}, + xs); + }); +var _elm_lang$core$List$filter = F2( + function (pred, xs) { + var conditionalCons = F2( + function (front, back) { + return pred(front) ? {ctor: '::', _0: front, _1: back} : back; + }); + return A3( + _elm_lang$core$List$foldr, + conditionalCons, + {ctor: '[]'}, + xs); + }); +var _elm_lang$core$List$maybeCons = F3( + function (f, mx, xs) { + var _p10 = f(mx); + if (_p10.ctor === 'Just') { + return {ctor: '::', _0: _p10._0, _1: xs}; + } else { + return xs; + } + }); +var _elm_lang$core$List$filterMap = F2( + function (f, xs) { + return A3( + _elm_lang$core$List$foldr, + _elm_lang$core$List$maybeCons(f), + {ctor: '[]'}, + xs); + }); +var _elm_lang$core$List$reverse = function (list) { + return A3( + _elm_lang$core$List$foldl, + F2( + function (x, y) { + return {ctor: '::', _0: x, _1: y}; + }), + {ctor: '[]'}, + list); +}; +var _elm_lang$core$List$scanl = F3( + function (f, b, xs) { + var scan1 = F2( + function (x, accAcc) { + var _p11 = accAcc; + if (_p11.ctor === '::') { + return { + ctor: '::', + _0: A2(f, x, _p11._0), + _1: accAcc + }; + } else { + return {ctor: '[]'}; + } + }); + return _elm_lang$core$List$reverse( + A3( + _elm_lang$core$List$foldl, + scan1, + { + ctor: '::', + _0: b, + _1: {ctor: '[]'} + }, + xs)); + }); +var _elm_lang$core$List$append = F2( + function (xs, ys) { + var _p12 = ys; + if (_p12.ctor === '[]') { + return xs; + } else { + return A3( + _elm_lang$core$List$foldr, + F2( + function (x, y) { + return {ctor: '::', _0: x, _1: y}; + }), + ys, + xs); + } + }); +var _elm_lang$core$List$concat = function (lists) { + return A3( + _elm_lang$core$List$foldr, + _elm_lang$core$List$append, + {ctor: '[]'}, + lists); +}; +var _elm_lang$core$List$concatMap = F2( + function (f, list) { + return _elm_lang$core$List$concat( + A2(_elm_lang$core$List$map, f, list)); + }); +var _elm_lang$core$List$partition = F2( + function (pred, list) { + var step = F2( + function (x, _p13) { + var _p14 = _p13; + var _p16 = _p14._0; + var _p15 = _p14._1; + return pred(x) ? { + ctor: '_Tuple2', + _0: {ctor: '::', _0: x, _1: _p16}, + _1: _p15 + } : { + ctor: '_Tuple2', + _0: _p16, + _1: {ctor: '::', _0: x, _1: _p15} + }; + }); + return A3( + _elm_lang$core$List$foldr, + step, + { + ctor: '_Tuple2', + _0: {ctor: '[]'}, + _1: {ctor: '[]'} + }, + list); + }); +var _elm_lang$core$List$unzip = function (pairs) { + var step = F2( + function (_p18, _p17) { + var _p19 = _p18; + var _p20 = _p17; + return { + ctor: '_Tuple2', + _0: {ctor: '::', _0: _p19._0, _1: _p20._0}, + _1: {ctor: '::', _0: _p19._1, _1: _p20._1} + }; + }); + return A3( + _elm_lang$core$List$foldr, + step, + { + ctor: '_Tuple2', + _0: {ctor: '[]'}, + _1: {ctor: '[]'} + }, + pairs); +}; +var _elm_lang$core$List$intersperse = F2( + function (sep, xs) { + var _p21 = xs; + if (_p21.ctor === '[]') { + return {ctor: '[]'}; + } else { + var step = F2( + function (x, rest) { + return { + ctor: '::', + _0: sep, + _1: {ctor: '::', _0: x, _1: rest} + }; + }); + var spersed = A3( + _elm_lang$core$List$foldr, + step, + {ctor: '[]'}, + _p21._1); + return {ctor: '::', _0: _p21._0, _1: spersed}; + } + }); +var _elm_lang$core$List$takeReverse = F3( + function (n, list, taken) { + takeReverse: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) { + return taken; + } else { + var _p22 = list; + if (_p22.ctor === '[]') { + return taken; + } else { + var _v23 = n - 1, + _v24 = _p22._1, + _v25 = {ctor: '::', _0: _p22._0, _1: taken}; + n = _v23; + list = _v24; + taken = _v25; + continue takeReverse; + } + } + } + }); +var _elm_lang$core$List$takeTailRec = F2( + function (n, list) { + return _elm_lang$core$List$reverse( + A3( + _elm_lang$core$List$takeReverse, + n, + list, + {ctor: '[]'})); + }); +var _elm_lang$core$List$takeFast = F3( + function (ctr, n, list) { + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) { + return {ctor: '[]'}; + } else { + var _p23 = {ctor: '_Tuple2', _0: n, _1: list}; + _v26_5: + do { + _v26_1: + do { + if (_p23.ctor === '_Tuple2') { + if (_p23._1.ctor === '[]') { + return list; + } else { + if (_p23._1._1.ctor === '::') { + switch (_p23._0) { + case 1: + break _v26_1; + case 2: + return { + ctor: '::', + _0: _p23._1._0, + _1: { + ctor: '::', + _0: _p23._1._1._0, + _1: {ctor: '[]'} + } + }; + case 3: + if (_p23._1._1._1.ctor === '::') { + return { + ctor: '::', + _0: _p23._1._0, + _1: { + ctor: '::', + _0: _p23._1._1._0, + _1: { + ctor: '::', + _0: _p23._1._1._1._0, + _1: {ctor: '[]'} + } + } + }; + } else { + break _v26_5; + } + default: + if ((_p23._1._1._1.ctor === '::') && (_p23._1._1._1._1.ctor === '::')) { + var _p28 = _p23._1._1._1._0; + var _p27 = _p23._1._1._0; + var _p26 = _p23._1._0; + var _p25 = _p23._1._1._1._1._0; + var _p24 = _p23._1._1._1._1._1; + return (_elm_lang$core$Native_Utils.cmp(ctr, 1000) > 0) ? { + ctor: '::', + _0: _p26, + _1: { + ctor: '::', + _0: _p27, + _1: { + ctor: '::', + _0: _p28, + _1: { + ctor: '::', + _0: _p25, + _1: A2(_elm_lang$core$List$takeTailRec, n - 4, _p24) + } + } + } + } : { + ctor: '::', + _0: _p26, + _1: { + ctor: '::', + _0: _p27, + _1: { + ctor: '::', + _0: _p28, + _1: { + ctor: '::', + _0: _p25, + _1: A3(_elm_lang$core$List$takeFast, ctr + 1, n - 4, _p24) + } + } + } + }; + } else { + break _v26_5; + } + } + } else { + if (_p23._0 === 1) { + break _v26_1; + } else { + break _v26_5; + } + } + } + } else { + break _v26_5; + } + } while(false); + return { + ctor: '::', + _0: _p23._1._0, + _1: {ctor: '[]'} + }; + } while(false); + return list; + } + }); +var _elm_lang$core$List$take = F2( + function (n, list) { + return A3(_elm_lang$core$List$takeFast, 0, n, list); + }); +var _elm_lang$core$List$repeatHelp = F3( + function (result, n, value) { + repeatHelp: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) { + return result; + } else { + var _v27 = {ctor: '::', _0: value, _1: result}, + _v28 = n - 1, + _v29 = value; + result = _v27; + n = _v28; + value = _v29; + continue repeatHelp; + } + } + }); +var _elm_lang$core$List$repeat = F2( + function (n, value) { + return A3( + _elm_lang$core$List$repeatHelp, + {ctor: '[]'}, + n, + value); + }); +var _elm_lang$core$List$rangeHelp = F3( + function (lo, hi, list) { + rangeHelp: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(lo, hi) < 1) { + var _v30 = lo, + _v31 = hi - 1, + _v32 = {ctor: '::', _0: hi, _1: list}; + lo = _v30; + hi = _v31; + list = _v32; + continue rangeHelp; + } else { + return list; + } + } + }); +var _elm_lang$core$List$range = F2( + function (lo, hi) { + return A3( + _elm_lang$core$List$rangeHelp, + lo, + hi, + {ctor: '[]'}); + }); +var _elm_lang$core$List$indexedMap = F2( + function (f, xs) { + return A3( + _elm_lang$core$List$map2, + f, + A2( + _elm_lang$core$List$range, + 0, + _elm_lang$core$List$length(xs) - 1), + xs); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmi new file mode 100644 index 0000000000000000000000000000000000000000..e6c0acf9b272a3a21632787d45f5f66e43d8b0a0 GIT binary patch literal 3020 zcmeHJJx{|x482QIwStZR!2)#Y%!Gi6Kj2Fa5-Cj)Bq07hSHgbEDjp;EKt+41@7 zIf<1@u8TxcYGwQFWlzHk>#KVAW*M(wyQHCcYV82I+|ny>YI!=`?*i>UL`N`a zV0vOkfbB+}ZMP4A!hf(GY%NZmh?gKmg@`Sg$5H?1r@X8-^I literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo new file mode 100644 index 0000000..0a0a7e4 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo @@ -0,0 +1,72 @@ +var _elm_lang$core$Maybe$withDefault = F2( + function ($default, maybe) { + var _p0 = maybe; + if (_p0.ctor === 'Just') { + return _p0._0; + } else { + return $default; + } + }); +var _elm_lang$core$Maybe$Nothing = {ctor: 'Nothing'}; +var _elm_lang$core$Maybe$andThen = F2( + function (callback, maybeValue) { + var _p1 = maybeValue; + if (_p1.ctor === 'Just') { + return callback(_p1._0); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$Just = function (a) { + return {ctor: 'Just', _0: a}; +}; +var _elm_lang$core$Maybe$map = F2( + function (f, maybe) { + var _p2 = maybe; + if (_p2.ctor === 'Just') { + return _elm_lang$core$Maybe$Just( + f(_p2._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map2 = F3( + function (func, ma, mb) { + var _p3 = {ctor: '_Tuple2', _0: ma, _1: mb}; + if (((_p3.ctor === '_Tuple2') && (_p3._0.ctor === 'Just')) && (_p3._1.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A2(func, _p3._0._0, _p3._1._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map3 = F4( + function (func, ma, mb, mc) { + var _p4 = {ctor: '_Tuple3', _0: ma, _1: mb, _2: mc}; + if ((((_p4.ctor === '_Tuple3') && (_p4._0.ctor === 'Just')) && (_p4._1.ctor === 'Just')) && (_p4._2.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A3(func, _p4._0._0, _p4._1._0, _p4._2._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map4 = F5( + function (func, ma, mb, mc, md) { + var _p5 = {ctor: '_Tuple4', _0: ma, _1: mb, _2: mc, _3: md}; + if (((((_p5.ctor === '_Tuple4') && (_p5._0.ctor === 'Just')) && (_p5._1.ctor === 'Just')) && (_p5._2.ctor === 'Just')) && (_p5._3.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A4(func, _p5._0._0, _p5._1._0, _p5._2._0, _p5._3._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _elm_lang$core$Maybe$map5 = F6( + function (func, ma, mb, mc, md, me) { + var _p6 = {ctor: '_Tuple5', _0: ma, _1: mb, _2: mc, _3: md, _4: me}; + if ((((((_p6.ctor === '_Tuple5') && (_p6._0.ctor === 'Just')) && (_p6._1.ctor === 'Just')) && (_p6._2.ctor === 'Just')) && (_p6._3.ctor === 'Just')) && (_p6._4.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A5(func, _p6._0._0, _p6._1._0, _p6._2._0, _p6._3._0, _p6._4._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmi new file mode 100644 index 0000000000000000000000000000000000000000..309a63c431913aa12c4b69d39a528d60a8d25945 GIT binary patch literal 1311 zcmcgsyApyh5KIUtwST||*jUoqI*x_C69JK#1Q&?h-b4yPE{YW@9&- zG3F;q@0H9`T6d$ON+|b$6{c9xw^7oyeLt|FqU z8|-dicagkl$EgDbS6jXTmks;&ipaRpb%jLwbZ>BgT?qhZb70>;(4jgG?9bz5g;j!G z*Mv&Nq)|;~-_Kr1DlvW%q~xVg7pVJocXWJLxVYm2Mk(6Pa8iu=AT7I!>nDT!$iw35@DW=kN#Z+R+gQV>VhhJ!0 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo new file mode 100644 index 0000000..3e4f39a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo @@ -0,0 +1,5 @@ +var _elm_lang$core$Platform_Sub$batch = _elm_lang$core$Native_Platform.batch; +var _elm_lang$core$Platform_Sub$none = _elm_lang$core$Platform_Sub$batch( + {ctor: '[]'}); +var _elm_lang$core$Platform_Sub$map = _elm_lang$core$Native_Platform.map; +var _elm_lang$core$Platform_Sub$Sub = {ctor: 'Sub'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmi new file mode 100644 index 0000000000000000000000000000000000000000..131df305b88809f65df794e83381ec47a3fa6142 GIT binary patch literal 3057 zcmeHJ-)n;~5RTQ_A21mEKL%ruecJ|u!B)yz*yBhwZKYbpXxX1XtM^4sZ6`Rkhs~Gd z&dc3*moJwvR{O4M5@SQ*2iHE|tx0b=VJv7qgzX@T!*$F9$d@F)dCBI{=WB@{BPn+7 zBD{+tXvT$RF8o!Gbc0#l8^aH4!Q~bUm3EYwJ3`7Q_vn}X8m5Vem7XSj8VwrldoDc( zAQ8=;^2FP#TxUK{R$+`Bo2^E3XCvIyS21BW)RvnM0pOlAnWswvIHs{TnJ|DhI5V-7 zSc5(|Z!B`?e zHw<+qsdQ`}MK5xVr~{eNIFku!&ev{ntCUw!O%cZk*$Z(ZtPOXzP#YXufTL-ld;sU| zyrd+^;C+!szPP2oDpo%)Yr7;s$1`NF@ZJE{%3fW_bSa(KixMx~NyYVV0Z|?&vz#`8 zu+zxpiBQpVd;kk5R44Y^b!)dXK(FtNezerKw>kdxw%MPGy->6)%7n0$9X`Gq8i}cj zUmWs(o;H;75Azh&Xn6%xo*muJ%ZY2?z;8gxIxnUNb+>qp?cex7qeb_*p>9-pOl6M) zz-V)p^~P`_QG>&2tttL^qUae%FAlV2z&vT7cRpHJ5DG$m_mPk%T+HEI^FfA8s~xH7 gsX&tUQh>+$QaG%!fRu+f08Ps$0Nhj;z=;|^0Rk$DsQ>@~ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo new file mode 100644 index 0000000..58b681a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo @@ -0,0 +1,9 @@ +var _elm_lang$core$Platform$hack = _elm_lang$core$Native_Scheduler.succeed; +var _elm_lang$core$Platform$sendToSelf = _elm_lang$core$Native_Platform.sendToSelf; +var _elm_lang$core$Platform$sendToApp = _elm_lang$core$Native_Platform.sendToApp; +var _elm_lang$core$Platform$programWithFlags = _elm_lang$core$Native_Platform.programWithFlags; +var _elm_lang$core$Platform$program = _elm_lang$core$Native_Platform.program; +var _elm_lang$core$Platform$Program = {ctor: 'Program'}; +var _elm_lang$core$Platform$Task = {ctor: 'Task'}; +var _elm_lang$core$Platform$ProcessId = {ctor: 'ProcessId'}; +var _elm_lang$core$Platform$Router = {ctor: 'Router'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmi new file mode 100644 index 0000000000000000000000000000000000000000..d8b5249184f4e1fd28a71149fd67601a17dabb0a GIT binary patch literal 1824 zcmd5+!D_=W43!gSZLj-}!Os1FL7|jFb1x?Gwh*TdcG|9gzY_H7q=jvvWYiZ+viu}H z%OdKn=blD1)uwteYWKl*nOUbH!#DA@I_`pIw63AavM@%l7AbxQi6*= zu?C;X+SyEd&j^7U5)pjAp7lRm69t z--{gr-h|-{65lr4z*0Mnkp}rpJfl+bW~^!kqJ|di6~UMfOJMtV|E1K+bE2k~%x>%)*xUYM4+GX~8~WH`7tj_%oA*I+l+37)Aa;iC?h{+1a9vh#ilT&qarcTarG9t-*`imwwAI4$wU5YV`$%8T-FKI&8Bu70QFUzUm z|0+zvJS5Q_rSl^oIQh!oNQJ}>g1iC``QrZw1}^*$FG&^#S>>sBCGCNj;~x>p7wI|% zTx3&yKKK+PSA5l*lI*_9Vj9M%CgSpzMmRjQzX%GyAKGEAh=Mn6j@V4MrWE)m1- zRstTVM0WzJuBH0I%q{_Q@NoBVhW`nD$Q=XG{kxp4$KCc3;W%LH*q9GU?XOv0qfaL` zuyqO@P=st1g?26X_;BD(>CM_%;bL=Y1{Bm>&6N{roIAxzn90ovUEvawl(lD-&MakF zivsh7P*xEA8b$chyOh<*Fo@^ZMXe!SAx37#tKUe>47Y>k43ftvNaL7olSWRj=h1#! zMKkXyP}Eultz9s{9LS4AB;@#C%A&C{w-g+}jEgdsg(1r65*(Eh_bUaGZW|?NlE>S6 z9A2eMR*bS;53FC8_%sloctut0qrh!S3$+|o$H;g<*XwS%Tq~me8~U4KIewJhcO#`$ zm*uwLc5`jj1)7H4WT{cB8-Z;D zv!*kJ&IsbZJhSSMe!1eBYMTTQzeyWeOz$|tL6D3K4ZqQ7)qLpFee9T2&ZU>7i1yAy z7KN1J@364JI#XA{Bqqx+xY@+-gzuA0JQLYZz>gc?Ck^n^2KZS6{Ja7Fz5)KB0sgTb z&bvnllRLI+R?+RLv+dRIkac(uOsXX7)tPu07}b6Iw6jHcW+`(9kjjeIA?p?j3lTY- z$zdSiW|i}^SkRVh0!yyJCS~Co*1Hv^-{BgGFc+w{T8D1Y=0q-SD%z$U7irncJJy!` z+>#}*&0M&jb?b$Nn%ysPsd#H)%VCE|5H_}!6Ipi`ne@8Y7LfemBadFHa~OOMssnj1 zvU5F2lh2C<4f3qxil`o2hqvh_7lov7P|@oUlUClUIm9y2z%}|uB$GJU-K{dN^AF7p zk#eh1@^3ab(&Uati)+?L>=sc~?X0c=^HtQ1!gep{5Z5m&uD$YNM7NM`U76Y|bov!o zZXLTjLs(6)a-07S-*d6tM$_nV(eL+Mue>zVuiH^>ml$v7Z6e4twL;wCZHVoL03a}R z_z(4~!8DcS3H8;BFi=hTpodz@yFZ}4onTQot6fu&OC*04=Az5+-|y*i0%!U%4;B7@ gbQk6MZ~i#im$YiIYQQ6Ljw)|IA+B6r0f5;>3jhEB literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo new file mode 100644 index 0000000..e7b93de --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo @@ -0,0 +1,378 @@ +var _elm_lang$core$Random$onSelfMsg = F3( + function (_p1, _p0, seed) { + return _elm_lang$core$Task$succeed(seed); + }); +var _elm_lang$core$Random$magicNum8 = 2147483562; +var _elm_lang$core$Random$range = function (_p2) { + return {ctor: '_Tuple2', _0: 0, _1: _elm_lang$core$Random$magicNum8}; +}; +var _elm_lang$core$Random$magicNum7 = 2147483399; +var _elm_lang$core$Random$magicNum6 = 2147483563; +var _elm_lang$core$Random$magicNum5 = 3791; +var _elm_lang$core$Random$magicNum4 = 40692; +var _elm_lang$core$Random$magicNum3 = 52774; +var _elm_lang$core$Random$magicNum2 = 12211; +var _elm_lang$core$Random$magicNum1 = 53668; +var _elm_lang$core$Random$magicNum0 = 40014; +var _elm_lang$core$Random$step = F2( + function (_p3, seed) { + var _p4 = _p3; + return _p4._0(seed); + }); +var _elm_lang$core$Random$onEffects = F3( + function (router, commands, seed) { + var _p5 = commands; + if (_p5.ctor === '[]') { + return _elm_lang$core$Task$succeed(seed); + } else { + var _p6 = A2(_elm_lang$core$Random$step, _p5._0._0, seed); + var value = _p6._0; + var newSeed = _p6._1; + return A2( + _elm_lang$core$Task$andThen, + function (_p7) { + return A3(_elm_lang$core$Random$onEffects, router, _p5._1, newSeed); + }, + A2(_elm_lang$core$Platform$sendToApp, router, value)); + } + }); +var _elm_lang$core$Random$listHelp = F4( + function (list, n, generate, seed) { + listHelp: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(n, 1) < 0) { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$List$reverse(list), + _1: seed + }; + } else { + var _p8 = generate(seed); + var value = _p8._0; + var newSeed = _p8._1; + var _v2 = {ctor: '::', _0: value, _1: list}, + _v3 = n - 1, + _v4 = generate, + _v5 = newSeed; + list = _v2; + n = _v3; + generate = _v4; + seed = _v5; + continue listHelp; + } + } + }); +var _elm_lang$core$Random$minInt = -2147483648; +var _elm_lang$core$Random$maxInt = 2147483647; +var _elm_lang$core$Random$iLogBase = F2( + function (b, i) { + return (_elm_lang$core$Native_Utils.cmp(i, b) < 0) ? 1 : (1 + A2(_elm_lang$core$Random$iLogBase, b, (i / b) | 0)); + }); +var _elm_lang$core$Random$command = _elm_lang$core$Native_Platform.leaf('Random'); +var _elm_lang$core$Random$Generator = function (a) { + return {ctor: 'Generator', _0: a}; +}; +var _elm_lang$core$Random$list = F2( + function (n, _p9) { + var _p10 = _p9; + return _elm_lang$core$Random$Generator( + function (seed) { + return A4( + _elm_lang$core$Random$listHelp, + {ctor: '[]'}, + n, + _p10._0, + seed); + }); + }); +var _elm_lang$core$Random$map = F2( + function (func, _p11) { + var _p12 = _p11; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p13 = _p12._0(seed0); + var a = _p13._0; + var seed1 = _p13._1; + return { + ctor: '_Tuple2', + _0: func(a), + _1: seed1 + }; + }); + }); +var _elm_lang$core$Random$map2 = F3( + function (func, _p15, _p14) { + var _p16 = _p15; + var _p17 = _p14; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p18 = _p16._0(seed0); + var a = _p18._0; + var seed1 = _p18._1; + var _p19 = _p17._0(seed1); + var b = _p19._0; + var seed2 = _p19._1; + return { + ctor: '_Tuple2', + _0: A2(func, a, b), + _1: seed2 + }; + }); + }); +var _elm_lang$core$Random$pair = F2( + function (genA, genB) { + return A3( + _elm_lang$core$Random$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + genA, + genB); + }); +var _elm_lang$core$Random$map3 = F4( + function (func, _p22, _p21, _p20) { + var _p23 = _p22; + var _p24 = _p21; + var _p25 = _p20; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p26 = _p23._0(seed0); + var a = _p26._0; + var seed1 = _p26._1; + var _p27 = _p24._0(seed1); + var b = _p27._0; + var seed2 = _p27._1; + var _p28 = _p25._0(seed2); + var c = _p28._0; + var seed3 = _p28._1; + return { + ctor: '_Tuple2', + _0: A3(func, a, b, c), + _1: seed3 + }; + }); + }); +var _elm_lang$core$Random$map4 = F5( + function (func, _p32, _p31, _p30, _p29) { + var _p33 = _p32; + var _p34 = _p31; + var _p35 = _p30; + var _p36 = _p29; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p37 = _p33._0(seed0); + var a = _p37._0; + var seed1 = _p37._1; + var _p38 = _p34._0(seed1); + var b = _p38._0; + var seed2 = _p38._1; + var _p39 = _p35._0(seed2); + var c = _p39._0; + var seed3 = _p39._1; + var _p40 = _p36._0(seed3); + var d = _p40._0; + var seed4 = _p40._1; + return { + ctor: '_Tuple2', + _0: A4(func, a, b, c, d), + _1: seed4 + }; + }); + }); +var _elm_lang$core$Random$map5 = F6( + function (func, _p45, _p44, _p43, _p42, _p41) { + var _p46 = _p45; + var _p47 = _p44; + var _p48 = _p43; + var _p49 = _p42; + var _p50 = _p41; + return _elm_lang$core$Random$Generator( + function (seed0) { + var _p51 = _p46._0(seed0); + var a = _p51._0; + var seed1 = _p51._1; + var _p52 = _p47._0(seed1); + var b = _p52._0; + var seed2 = _p52._1; + var _p53 = _p48._0(seed2); + var c = _p53._0; + var seed3 = _p53._1; + var _p54 = _p49._0(seed3); + var d = _p54._0; + var seed4 = _p54._1; + var _p55 = _p50._0(seed4); + var e = _p55._0; + var seed5 = _p55._1; + return { + ctor: '_Tuple2', + _0: A5(func, a, b, c, d, e), + _1: seed5 + }; + }); + }); +var _elm_lang$core$Random$andThen = F2( + function (callback, _p56) { + var _p57 = _p56; + return _elm_lang$core$Random$Generator( + function (seed) { + var _p58 = _p57._0(seed); + var result = _p58._0; + var newSeed = _p58._1; + var _p59 = callback(result); + var genB = _p59._0; + return genB(newSeed); + }); + }); +var _elm_lang$core$Random$State = F2( + function (a, b) { + return {ctor: 'State', _0: a, _1: b}; + }); +var _elm_lang$core$Random$initState = function (seed) { + var s = A2(_elm_lang$core$Basics$max, seed, 0 - seed); + var q = (s / (_elm_lang$core$Random$magicNum6 - 1)) | 0; + var s2 = A2(_elm_lang$core$Basics_ops['%'], q, _elm_lang$core$Random$magicNum7 - 1); + var s1 = A2(_elm_lang$core$Basics_ops['%'], s, _elm_lang$core$Random$magicNum6 - 1); + return A2(_elm_lang$core$Random$State, s1 + 1, s2 + 1); +}; +var _elm_lang$core$Random$next = function (_p60) { + var _p61 = _p60; + var _p63 = _p61._1; + var _p62 = _p61._0; + var k2 = (_p63 / _elm_lang$core$Random$magicNum3) | 0; + var rawState2 = (_elm_lang$core$Random$magicNum4 * (_p63 - (k2 * _elm_lang$core$Random$magicNum3))) - (k2 * _elm_lang$core$Random$magicNum5); + var newState2 = (_elm_lang$core$Native_Utils.cmp(rawState2, 0) < 0) ? (rawState2 + _elm_lang$core$Random$magicNum7) : rawState2; + var k1 = (_p62 / _elm_lang$core$Random$magicNum1) | 0; + var rawState1 = (_elm_lang$core$Random$magicNum0 * (_p62 - (k1 * _elm_lang$core$Random$magicNum1))) - (k1 * _elm_lang$core$Random$magicNum2); + var newState1 = (_elm_lang$core$Native_Utils.cmp(rawState1, 0) < 0) ? (rawState1 + _elm_lang$core$Random$magicNum6) : rawState1; + var z = newState1 - newState2; + var newZ = (_elm_lang$core$Native_Utils.cmp(z, 1) < 0) ? (z + _elm_lang$core$Random$magicNum8) : z; + return { + ctor: '_Tuple2', + _0: newZ, + _1: A2(_elm_lang$core$Random$State, newState1, newState2) + }; +}; +var _elm_lang$core$Random$split = function (_p64) { + var _p65 = _p64; + var _p68 = _p65._1; + var _p67 = _p65._0; + var _p66 = _elm_lang$core$Tuple$second( + _elm_lang$core$Random$next(_p65)); + var t1 = _p66._0; + var t2 = _p66._1; + var new_s2 = _elm_lang$core$Native_Utils.eq(_p68, 1) ? (_elm_lang$core$Random$magicNum7 - 1) : (_p68 - 1); + var new_s1 = _elm_lang$core$Native_Utils.eq(_p67, _elm_lang$core$Random$magicNum6 - 1) ? 1 : (_p67 + 1); + return { + ctor: '_Tuple2', + _0: A2(_elm_lang$core$Random$State, new_s1, t2), + _1: A2(_elm_lang$core$Random$State, t1, new_s2) + }; +}; +var _elm_lang$core$Random$Seed = function (a) { + return {ctor: 'Seed', _0: a}; +}; +var _elm_lang$core$Random$int = F2( + function (a, b) { + return _elm_lang$core$Random$Generator( + function (_p69) { + var _p70 = _p69; + var _p75 = _p70._0; + var base = 2147483561; + var f = F3( + function (n, acc, state) { + f: + while (true) { + var _p71 = n; + if (_p71 === 0) { + return {ctor: '_Tuple2', _0: acc, _1: state}; + } else { + var _p72 = _p75.next(state); + var x = _p72._0; + var nextState = _p72._1; + var _v27 = n - 1, + _v28 = x + (acc * base), + _v29 = nextState; + n = _v27; + acc = _v28; + state = _v29; + continue f; + } + } + }); + var _p73 = (_elm_lang$core$Native_Utils.cmp(a, b) < 0) ? {ctor: '_Tuple2', _0: a, _1: b} : {ctor: '_Tuple2', _0: b, _1: a}; + var lo = _p73._0; + var hi = _p73._1; + var k = (hi - lo) + 1; + var n = A2(_elm_lang$core$Random$iLogBase, base, k); + var _p74 = A3(f, n, 1, _p75.state); + var v = _p74._0; + var nextState = _p74._1; + return { + ctor: '_Tuple2', + _0: lo + A2(_elm_lang$core$Basics_ops['%'], v, k), + _1: _elm_lang$core$Random$Seed( + _elm_lang$core$Native_Utils.update( + _p75, + {state: nextState})) + }; + }); + }); +var _elm_lang$core$Random$bool = A2( + _elm_lang$core$Random$map, + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.eq(x, y); + })(1), + A2(_elm_lang$core$Random$int, 0, 1)); +var _elm_lang$core$Random$float = F2( + function (a, b) { + return _elm_lang$core$Random$Generator( + function (seed) { + var _p76 = A2( + _elm_lang$core$Random$step, + A2(_elm_lang$core$Random$int, _elm_lang$core$Random$minInt, _elm_lang$core$Random$maxInt), + seed); + var number = _p76._0; + var newSeed = _p76._1; + var negativeOneToOne = _elm_lang$core$Basics$toFloat(number) / _elm_lang$core$Basics$toFloat(_elm_lang$core$Random$maxInt - _elm_lang$core$Random$minInt); + var _p77 = (_elm_lang$core$Native_Utils.cmp(a, b) < 0) ? {ctor: '_Tuple2', _0: a, _1: b} : {ctor: '_Tuple2', _0: b, _1: a}; + var lo = _p77._0; + var hi = _p77._1; + var scaled = ((lo + hi) / 2) + ((hi - lo) * negativeOneToOne); + return {ctor: '_Tuple2', _0: scaled, _1: newSeed}; + }); + }); +var _elm_lang$core$Random$initialSeed = function (n) { + return _elm_lang$core$Random$Seed( + { + state: _elm_lang$core$Random$initState(n), + next: _elm_lang$core$Random$next, + split: _elm_lang$core$Random$split, + range: _elm_lang$core$Random$range + }); +}; +var _elm_lang$core$Random$init = A2( + _elm_lang$core$Task$andThen, + function (t) { + return _elm_lang$core$Task$succeed( + _elm_lang$core$Random$initialSeed( + _elm_lang$core$Basics$round(t))); + }, + _elm_lang$core$Time$now); +var _elm_lang$core$Random$Generate = function (a) { + return {ctor: 'Generate', _0: a}; +}; +var _elm_lang$core$Random$generate = F2( + function (tagger, generator) { + return _elm_lang$core$Random$command( + _elm_lang$core$Random$Generate( + A2(_elm_lang$core$Random$map, tagger, generator))); + }); +var _elm_lang$core$Random$cmdMap = F2( + function (func, _p78) { + var _p79 = _p78; + return _elm_lang$core$Random$Generate( + A2(_elm_lang$core$Random$map, func, _p79._0)); + }); +_elm_lang$core$Native_Platform.effectManagers['Random'] = {pkg: 'elm-lang/core', init: _elm_lang$core$Random$init, onEffects: _elm_lang$core$Random$onEffects, onSelfMsg: _elm_lang$core$Random$onSelfMsg, tag: 'cmd', cmdMap: _elm_lang$core$Random$cmdMap}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmi new file mode 100644 index 0000000000000000000000000000000000000000..5ad8e06db2825e1f9ba671542b476c6c5c403b2f GIT binary patch literal 3128 zcmeGe%TB^Ta7(*|sELXH;SX@blO)!Ie!)^#Y*MzQyD0pH#ig-p`#G z#+=`s12Hy|`QknoY7Y1)ElLUhuaTFRaxT{h#ZsqYiA?M^6e0is*2X=YWbQ zCMmQ*apY(y-^|b-B*xF85tHNA4O$wH$-zLd5Jg$^l##UntpwsA1L&WzMGER)Uf8_|=rzwxwD^4UaRNh`KIYOEnPe86-p%UhPi>aZJds?Jy3(uJPE_h&&maV6d+E43HQ%h$ zi+dBIuin1$5M(`}dMl(dLXioM9*Tkn5DZQt`pj;J*m-%nYcv8*R{>@89d7B$%M-JW zbzn&06SGUz&u#BwS@pDEPuF+8{$ZES_)%y0y-;tk?nz;fC-xso?T64ZDttD06NskP v1H4CW9CgTm2abj7%b>AVot=bocolRLox2kkKYlyc{NL~L_WPvc1YztOR6dUJ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo new file mode 100644 index 0000000..55577ec --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo @@ -0,0 +1,16 @@ +var _elm_lang$core$Regex$split = _elm_lang$core$Native_Regex.split; +var _elm_lang$core$Regex$replace = _elm_lang$core$Native_Regex.replace; +var _elm_lang$core$Regex$find = _elm_lang$core$Native_Regex.find; +var _elm_lang$core$Regex$contains = _elm_lang$core$Native_Regex.contains; +var _elm_lang$core$Regex$caseInsensitive = _elm_lang$core$Native_Regex.caseInsensitive; +var _elm_lang$core$Regex$regex = _elm_lang$core$Native_Regex.regex; +var _elm_lang$core$Regex$escape = _elm_lang$core$Native_Regex.escape; +var _elm_lang$core$Regex$Match = F4( + function (a, b, c, d) { + return {match: a, submatches: b, index: c, number: d}; + }); +var _elm_lang$core$Regex$Regex = {ctor: 'Regex'}; +var _elm_lang$core$Regex$AtMost = function (a) { + return {ctor: 'AtMost', _0: a}; +}; +var _elm_lang$core$Regex$All = {ctor: 'All'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmi new file mode 100644 index 0000000000000000000000000000000000000000..4c87e50af8e1d3c0765e7033cfe7d88c09bb10c6 GIT binary patch literal 4096 zcmeHKOHacv3{LuBLlYPN2Nxcfo#6&TLi~ZW&Dcb@qHcrr-;=HR5*x(EBvJv|E{z?> z@#Ax53&DP;j1r=+%jsFEW>1!%x#gy=t2(l0jvn;fTLf-&|7`bTBMtS^F7QpM z>Jz&e4Tk~(Qi&KUMRGft!*l5+b_!5Ka4gkpAL0n~whTaqd&()Ns8x(3>8mQ2h~_#b ze52d@eX?PNQ~@lIE2lm)*#q%o5hnVBo8Ll*Q~|t^t36#~P-g^#GV}+D77AhWXy7KP zu(DwN%PC{^W*gP(bvMNwK>S^T0?cxWs#HXGE6sj&9f!weQQuKTwBtYu{c>0hk}Y*Hou1$Kzs)EWZDhlkr**-mO8 Z*q~;aeu#BGvSx^kwq9T}SXu?{^A48G$_oGh literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo new file mode 100644 index 0000000..a9b91ff --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo @@ -0,0 +1,141 @@ +var _elm_lang$core$Result$toMaybe = function (result) { + var _p0 = result; + if (_p0.ctor === 'Ok') { + return _elm_lang$core$Maybe$Just(_p0._0); + } else { + return _elm_lang$core$Maybe$Nothing; + } +}; +var _elm_lang$core$Result$withDefault = F2( + function (def, result) { + var _p1 = result; + if (_p1.ctor === 'Ok') { + return _p1._0; + } else { + return def; + } + }); +var _elm_lang$core$Result$Err = function (a) { + return {ctor: 'Err', _0: a}; +}; +var _elm_lang$core$Result$andThen = F2( + function (callback, result) { + var _p2 = result; + if (_p2.ctor === 'Ok') { + return callback(_p2._0); + } else { + return _elm_lang$core$Result$Err(_p2._0); + } + }); +var _elm_lang$core$Result$Ok = function (a) { + return {ctor: 'Ok', _0: a}; +}; +var _elm_lang$core$Result$map = F2( + function (func, ra) { + var _p3 = ra; + if (_p3.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + func(_p3._0)); + } else { + return _elm_lang$core$Result$Err(_p3._0); + } + }); +var _elm_lang$core$Result$map2 = F3( + function (func, ra, rb) { + var _p4 = {ctor: '_Tuple2', _0: ra, _1: rb}; + if (_p4._0.ctor === 'Ok') { + if (_p4._1.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A2(func, _p4._0._0, _p4._1._0)); + } else { + return _elm_lang$core$Result$Err(_p4._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p4._0._0); + } + }); +var _elm_lang$core$Result$map3 = F4( + function (func, ra, rb, rc) { + var _p5 = {ctor: '_Tuple3', _0: ra, _1: rb, _2: rc}; + if (_p5._0.ctor === 'Ok') { + if (_p5._1.ctor === 'Ok') { + if (_p5._2.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A3(func, _p5._0._0, _p5._1._0, _p5._2._0)); + } else { + return _elm_lang$core$Result$Err(_p5._2._0); + } + } else { + return _elm_lang$core$Result$Err(_p5._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p5._0._0); + } + }); +var _elm_lang$core$Result$map4 = F5( + function (func, ra, rb, rc, rd) { + var _p6 = {ctor: '_Tuple4', _0: ra, _1: rb, _2: rc, _3: rd}; + if (_p6._0.ctor === 'Ok') { + if (_p6._1.ctor === 'Ok') { + if (_p6._2.ctor === 'Ok') { + if (_p6._3.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A4(func, _p6._0._0, _p6._1._0, _p6._2._0, _p6._3._0)); + } else { + return _elm_lang$core$Result$Err(_p6._3._0); + } + } else { + return _elm_lang$core$Result$Err(_p6._2._0); + } + } else { + return _elm_lang$core$Result$Err(_p6._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p6._0._0); + } + }); +var _elm_lang$core$Result$map5 = F6( + function (func, ra, rb, rc, rd, re) { + var _p7 = {ctor: '_Tuple5', _0: ra, _1: rb, _2: rc, _3: rd, _4: re}; + if (_p7._0.ctor === 'Ok') { + if (_p7._1.ctor === 'Ok') { + if (_p7._2.ctor === 'Ok') { + if (_p7._3.ctor === 'Ok') { + if (_p7._4.ctor === 'Ok') { + return _elm_lang$core$Result$Ok( + A5(func, _p7._0._0, _p7._1._0, _p7._2._0, _p7._3._0, _p7._4._0)); + } else { + return _elm_lang$core$Result$Err(_p7._4._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._3._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._2._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._1._0); + } + } else { + return _elm_lang$core$Result$Err(_p7._0._0); + } + }); +var _elm_lang$core$Result$mapError = F2( + function (f, result) { + var _p8 = result; + if (_p8.ctor === 'Ok') { + return _elm_lang$core$Result$Ok(_p8._0); + } else { + return _elm_lang$core$Result$Err( + f(_p8._0)); + } + }); +var _elm_lang$core$Result$fromMaybe = F2( + function (err, maybe) { + var _p9 = maybe; + if (_p9.ctor === 'Just') { + return _elm_lang$core$Result$Ok(_p9._0); + } else { + return _elm_lang$core$Result$Err(err); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmi new file mode 100644 index 0000000000000000000000000000000000000000..091648fd448fc2f19ed20a6ba3334829485e97e0 GIT binary patch literal 4144 zcmdT{OHacv3{KXrV{kx%-+_cUazt=I;s*Dr9qAM)ZKk$Ef?rRz*p3GgFsTt*FU`ZT zKR@EwLhOAPdov+UlxeO^*{)zcU)oN=m}sY}Sr6}ca^CB9Wz=9>Tq$(ht8SoaryBc) zT*OTG5Bz-5sHRdKQs=$?Alhkd&8xw!-HZscrd;DrQEM{<9`kkC4SLW4(sa|Z*<81d zx>rlWn7`_}CT@d$(mm~+)SYd%3lkv7o)vB4nG6OJ{>5F{>t+9CHNV#+6De~h>k{ZE zx3>cKWhpY0EI6?Y6u%Mx-*bn2;at3^HqKzWb)1pOPo75_4xf*Si6k3|+2UohHtPB? z3Cy%?7&Jw@dw-3}`*dj=7dK^P)PZJUNZF7;GsejPd;j{2IjRsBeg2~>hQYwp3gLNY ztvOojL9&S`7%pRlyRu@7$y8?2z{OjTE(hWU^8&5O{{~4J)7b^WC!V<&`cb2n@x}0k zHz{VfRH9Sy1(nzrBq{u2ph&~62M(Rm5xG~ z8;&DpIbg37>r5hArScQl)Auo>3Ss#tdu*{3E}&Z(RTML3i1cXl!6-p<=(SSeIo4>z g5aibpEGE&HNb{{v^Mvv+oAMTokAG^{01^E@0lcpga{vGU literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo new file mode 100644 index 0000000..7fcd718 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo @@ -0,0 +1,130 @@ +var _elm_lang$core$Set$foldr = F3( + function (f, b, _p0) { + var _p1 = _p0; + return A3( + _elm_lang$core$Dict$foldr, + F3( + function (k, _p2, b) { + return A2(f, k, b); + }), + b, + _p1._0); + }); +var _elm_lang$core$Set$foldl = F3( + function (f, b, _p3) { + var _p4 = _p3; + return A3( + _elm_lang$core$Dict$foldl, + F3( + function (k, _p5, b) { + return A2(f, k, b); + }), + b, + _p4._0); + }); +var _elm_lang$core$Set$toList = function (_p6) { + var _p7 = _p6; + return _elm_lang$core$Dict$keys(_p7._0); +}; +var _elm_lang$core$Set$size = function (_p8) { + var _p9 = _p8; + return _elm_lang$core$Dict$size(_p9._0); +}; +var _elm_lang$core$Set$member = F2( + function (k, _p10) { + var _p11 = _p10; + return A2(_elm_lang$core$Dict$member, k, _p11._0); + }); +var _elm_lang$core$Set$isEmpty = function (_p12) { + var _p13 = _p12; + return _elm_lang$core$Dict$isEmpty(_p13._0); +}; +var _elm_lang$core$Set$Set_elm_builtin = function (a) { + return {ctor: 'Set_elm_builtin', _0: a}; +}; +var _elm_lang$core$Set$empty = _elm_lang$core$Set$Set_elm_builtin(_elm_lang$core$Dict$empty); +var _elm_lang$core$Set$singleton = function (k) { + return _elm_lang$core$Set$Set_elm_builtin( + A2( + _elm_lang$core$Dict$singleton, + k, + {ctor: '_Tuple0'})); +}; +var _elm_lang$core$Set$insert = F2( + function (k, _p14) { + var _p15 = _p14; + return _elm_lang$core$Set$Set_elm_builtin( + A3( + _elm_lang$core$Dict$insert, + k, + {ctor: '_Tuple0'}, + _p15._0)); + }); +var _elm_lang$core$Set$fromList = function (xs) { + return A3(_elm_lang$core$List$foldl, _elm_lang$core$Set$insert, _elm_lang$core$Set$empty, xs); +}; +var _elm_lang$core$Set$map = F2( + function (f, s) { + return _elm_lang$core$Set$fromList( + A2( + _elm_lang$core$List$map, + f, + _elm_lang$core$Set$toList(s))); + }); +var _elm_lang$core$Set$remove = F2( + function (k, _p16) { + var _p17 = _p16; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$remove, k, _p17._0)); + }); +var _elm_lang$core$Set$union = F2( + function (_p19, _p18) { + var _p20 = _p19; + var _p21 = _p18; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$union, _p20._0, _p21._0)); + }); +var _elm_lang$core$Set$intersect = F2( + function (_p23, _p22) { + var _p24 = _p23; + var _p25 = _p22; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$intersect, _p24._0, _p25._0)); + }); +var _elm_lang$core$Set$diff = F2( + function (_p27, _p26) { + var _p28 = _p27; + var _p29 = _p26; + return _elm_lang$core$Set$Set_elm_builtin( + A2(_elm_lang$core$Dict$diff, _p28._0, _p29._0)); + }); +var _elm_lang$core$Set$filter = F2( + function (p, _p30) { + var _p31 = _p30; + return _elm_lang$core$Set$Set_elm_builtin( + A2( + _elm_lang$core$Dict$filter, + F2( + function (k, _p32) { + return p(k); + }), + _p31._0)); + }); +var _elm_lang$core$Set$partition = F2( + function (p, _p33) { + var _p34 = _p33; + var _p35 = A2( + _elm_lang$core$Dict$partition, + F2( + function (k, _p36) { + return p(k); + }), + _p34._0); + var p1 = _p35._0; + var p2 = _p35._1; + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Set$Set_elm_builtin(p1), + _1: _elm_lang$core$Set$Set_elm_builtin(p2) + }; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmi new file mode 100644 index 0000000000000000000000000000000000000000..64d71f8e493fbd32a4f13cbed74981c7561ea1d7 GIT binary patch literal 3828 zcmcgvO^?$s5KWuU<;cGPiOU}M2m%SIa9BVbk=wehksC*eyUYH2oY*sCJ8GMtieB31 zdGj)!%-GW;2|lj_lq40G$9Iy|d$*o#RLkA(H^41L_wm^17r=$&^gM+)&RZO390G1`A*5L1ml1(#+21qPAQYXN*#OQzVk2aWesm`=@yHx zOp7O2ExwtUuzta@c;wwlLeAbg&*j5I0*nPqQcz4XFP{ryTqQVNy8}||E1J-IrDTH8 z#fvx_%vQ)|g-rjdQ@AcdB}h`d5M#)&Yr8Z1kG*2-RBYp;F&p|EVVnmD(K=VyX0gMx zOj0MKf7-VgqRWr>`W`*z_|pl1?y$dj0kK~Q*hyraQw#7cn@i}!P>UL2jRn8<7DuV_ zSe~xw=v(X3r4TA33b#k+;k9xdD)5X79?>Ivym0L)L!H=lZ}Ih_Hs13Je~^3vyS@t8U>b{lG9FDTRqYhc!yG~A;o z6mEK!5MIK!5ThIX7HTlNozaS47L=1KcNhfG`!e4RU&szqdd1hybZ30$DGfs>KY`|UJVoPwjKez(U<@9I z;W|B>;*e%r(^V*p#%R4usFenw|HeQdI9r@JPTNwV(D_}!ATUak?^%{+cpl41DjlPR$YyC4Ltw;< zLd1)LsgA)N&mUELsQ%-(;a8r|!@Slz_%Y85)z`zDSG<@%0p@J8gz2=l(f{1+DiBp46+7%-q9nUOdspvE0tE32L1-IrnkGSrr| z4OD%RWjzQt8L;Yrvn%nWP1;KzF;YLy?^*w-f$IjZpgn4&T@Wd-<8VQh#(pkeWo?dQNWf;?#l}(Ox;9aZKJ;0>`%d9Y*(G*d>QFl zLVDI`>X=}r{{z9u&3ByyhY7~W3cPjVniJQQRU_G?XU-S@u5pcLeS~A~6kX>|a`Xr$ zG+$F}?b)5qzlGenb6t{0K-t5MI&1AHuI4~0g3erGK$y5Z2zZ_J zvK}?YRNm-)9@=QMrqN++s5 zpK^12Z_(rga=SdBYizGIKm)58Duj7GJIM_J(%f}fz}&yvQ*u~O9IfN7{WmvNpch&v z>g+M4*4&Yn2d7o*=r~{S-^u3cS+ghu?s}9tu7LHlFI-ZE3{AuRrLLD)Mo#K-+Gd3c zec5Vj8s%JlTUU#EzLVxCxQ#kWQFK(@t$rlep&+Mkyp|%&dN8zRe}$cV6+f%dE=g%- ZXoU0}L{3+;Xyp|cRGyp|eBK}he*k1ERl!SKu_X~+na$-WraT8#| zd#Uk!J(ur%$95Pi{rgn<#n_ebR$n~sFJ-;$1fh`SYiQf|gI6dI#ES^u;Meua^*lEc zPTZm9fRx&9`GF`4}oY(i-I(e)?A01;G=U4NPmiEAe5FnP_$_3x6AB1?9%AKev9 zGM07lf5UG)avkUjwf1+{iItZ2Pd8HQ1{3}^gQ0t}!|;K}?hDk8r_Pg@Z#)4zt8RwZ z2&=gI>?4n!W!-1!esjZMXp6Hx497}4D_R_EAjcitrfMHR z&pNw-Hh8gCAbN6M=U#E-a+KikAHz{Gu*>FnL3=hf%g;f^4QSPYhgp52HuE zT#8V&&+QC&HjB6gWZu}+d)n)))!`mP(w9o@Y*;S(Q;dIwfg_?wfauwI%a~-sDuBRd z@8{YEFvtu&GkdIpQrQM5l7Gi*kh1o~u=Wd6loa47&hSB7d0?YfSjr$rvni%VEyT&Y7W@V4y)%*5=}@ek322px5u2;c6~P{PFQ4^Hp(_Z zntc(5BvM+=#0L-C!vu)~z2KR+wj$v-#I%q_Egq7Tr9u_3@OwDwF~oFxdU3+cmzb`q z3N5)b$uz3`*m!S#oY>JB3rR()vW@qqfkr)hJfZi>z=zM!wSA}-_2opv>?FR^Ikr~? z#0d^l3?ReS-xjz+t)$un)MC{{fi#TeQWoRDzg;YZ6GzEuKg`+Wj9UeW;qM^1r^)FU z47EK0>1YFce2=ybtj{h^R}8moXpiqQJ`jmS(>5HxsrQ;HH86=HTwzKKq6!pS7cO^XX(Xssm2E=txrJhBbP3a+ z3U4t<9-h!BvZ~?ZGkqeNXc(mQk<;*ih9Wjdk~&|Ld>SXBxV-bW;DkJY=!b^X=Z|55 zPGQYLq%_Zxw4B5|OR6#|Y+yUk0Ugq3No^ihl5oB%IVU1Z5q?Z4E@V-wdy<@72vli!(xH&UY0cZakS>I{+;mF|6Q)U2a||a(J-j!!vRE; z3nRZoH5|sd!uF-y$*sv5QJ|}P;7k<3n+O2Dm(4Xf~O(jFQD)5CGN0CVNjZzz5SS-1!ES^VNn^A zxTZZe+&$zzs`}AEgN^U?I6YBqCs*~|4Q0~uP=x)xzc?=tL1Q^>o*NQPY&I5F(W#!t zkP@o^{68@j-(4@Sp>Y}J!qRf8GEfct$LMO(wC~O5TPGn90M*UMz+(Izi({s3A;;p*g1=| zLgghyXht(<&RlkO+1l!Vo(>;dJ9&BetV|bY>U)$`b*_Go)u;XO2!H=n*XgzT^0HIZ zw9C`e7?YxJMbmmP$aHPrA?5=nWY7^f2^5eugKj$HPjCFQElM90 z*#2C!e~Jbqc;y25AW32lF8ag9a!H~XMnwnbX{~tu!U392jKl?el9&%!lZ(1D60HD* z=QK3M2US@CUzZBs%aH)Xh%lgtrfG{LbYWU2Mgrl#)#=VK@J7dJbK#+_M90M?z-8eLRp*2L?u8n`)tAIG*NNHAl+7b?Drkl4Ou3`LykUPqD8vgPvF3K>o7OK$d7l zA@X&6@OGZz3q4qAjbIu_C4fPz!F3}H&Rid)Nv^{#iBBK_&2<>z7jl@VbJV3XbthvI zU1mUo`2lt&I$Q4uxTjr&VV=u~)^~0)Fvwvh#etEOQ)f8P&F#ql3#iFTu{gRb9NkJ4qCI)6l zv7uu$+qyGIpaV$Q{&+@;jf4j`8 zy&OsBbz^P*ND`OI36jH_o<2=JC8qIR7XrDXGbSo(m zg%L5J0zr>;Q(ILtaQdph<|fsJqQeT73=XrT*qpqkLlnf?H7=vaTMC)wgfU5PX)bH2 z?q-dQ_`@7y=ooJ%b8xdc%(TZga=);yv)-;s^~+l)hOh2?NrvzKZ#W78{R1HmIa9!H za~#yE#1vgSXC%5{p{+~X07=v$IC@`T^cY7Jmy<<*v?22ktb0P_A#gUCU|cr2+?fqe zI@J@?U)V!Q5SGYncE+4(UG|2`8})cH5O=Kid+#0281P5EObo;!{o&mkcW?T~grT^i zJyR37(!W*<#1-SslAr_(FR=n~Mt=|>h)ee@VG@cf+WoD-mHxgx5LfKp{=q%@*B7yY zxMXb91X(jI90PIY)}id9dw|w=y`kifxi%3@18N-xe$<#lseGqEyuTFS=!hHyQTB9leeaM8k)O7U2UQob6)xj6%KCf7_? zh4!p*#`6xD03Y3GDG-+NLYCYMi*758%t#R5v9}zKfJ)}9tv0aI%$99% zk6#@O?r^9U6I^KsKwlqGAr&Yh?B@wizUQe>C{SsmKV&ex#klNC2%ll|hW{W$xl*Gl z0H7<^c+NK*oI|+=ESWrgP3S5Z*B_w!(s3vs%yWy~QMc0e#Cvy!x`NNHsT^19!E}sh kcU5EdqJK^8Fi)HK*_+cQ5&}v5^`myEcK_ujnuY9-cliD#Q2+n{ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-LowLevel.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-LowLevel.elmo new file mode 100644 index 0000000..8d3b00f --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-LowLevel.elmo @@ -0,0 +1,2 @@ +var _elm_lang$dom$Dom_LowLevel$onWindow = _elm_lang$dom$Native_Dom.onWindow; +var _elm_lang$dom$Dom_LowLevel$onDocument = _elm_lang$dom$Native_Dom.onDocument; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmi new file mode 100644 index 0000000000000000000000000000000000000000..a47825df4f019c3ea83e58f761b96cf08ee75e74 GIT binary patch literal 3986 zcmeHKK~KUk6n@*-m!>#9vn-irhSeX$Q4YRv^#&y&m^#BG!+Nm!k8Bgg z3ed$ePfRACupU7QpHn91Tp%)-XxhEo)y%*?a2e;3v7cZRXL)Ke4aQO=r7YmznXqhW z%=ahxItBX+tl#SqCOM2eP^L;$_8z}FDBQjJJ|>?yLU7Sy>OLSu{ zWS=#nr@>p1i0T)qyc1iMieqagX){tuy?(7m4c4frA!<;F%KO#7PdSs;C5|0c{Q}YZ z!2H(_R8cBg!+HMe)G9{g)>2YzEA|@nvO+c`qjrhkyn=7XOO<=uzhKrto}Wur$X1)5 OxZ8{IiZ)83ee(?i{m=IR literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmo new file mode 100644 index 0000000..fb0b404 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Scroll.elmo @@ -0,0 +1,12 @@ +var _elm_lang$dom$Dom_Scroll$toX = _elm_lang$dom$Native_Dom.setScrollLeft; +var _elm_lang$dom$Dom_Scroll$x = _elm_lang$dom$Native_Dom.getScrollLeft; +var _elm_lang$dom$Dom_Scroll$toRight = _elm_lang$dom$Native_Dom.toRight; +var _elm_lang$dom$Dom_Scroll$toLeft = function (id) { + return A2(_elm_lang$dom$Dom_Scroll$toX, id, 0); +}; +var _elm_lang$dom$Dom_Scroll$toY = _elm_lang$dom$Native_Dom.setScrollTop; +var _elm_lang$dom$Dom_Scroll$y = _elm_lang$dom$Native_Dom.getScrollTop; +var _elm_lang$dom$Dom_Scroll$toBottom = _elm_lang$dom$Native_Dom.toBottom; +var _elm_lang$dom$Dom_Scroll$toTop = function (id) { + return A2(_elm_lang$dom$Dom_Scroll$toY, id, 0); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmi new file mode 100644 index 0000000000000000000000000000000000000000..0d66f464b15abbbdcf90e063b863ae63c5f2946a GIT binary patch literal 2138 zcmeHHJx{|h5Otb3?E(WEGc$jn8*M>Cq6pCnW~VWY)ig$q11i6s0l(rLb;&?BveB1Vde`D}ZmZIJef4*#9ORygz{&>vb6bTlCGHbocx5cjp z4tF@!m6eqp!1YKsAg1@C$wGaADs6+)CsnJgl>J3GZ%24mwwP#>OH=od&P6cTRh7?$ zS*xm#u$a6*&4_oXHcY%~4{k9IEJ8Cd*VsYGWTg#S1eku?`*(oG(wHs@1JC2guZ__L zQ=>P4Wc;So!bWir_YhG!?k%!GByWQT84_NO@YiBxU629b<$ib?gOxc>^S{`A7aP4n d7pLn5mXI9{y*tT%C4a-akr;N_Ys6(Qege}O8czTK literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmo new file mode 100644 index 0000000..a11fa14 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom-Size.elmo @@ -0,0 +1,6 @@ +var _elm_lang$dom$Dom_Size$width = _elm_lang$dom$Native_Dom.width; +var _elm_lang$dom$Dom_Size$height = _elm_lang$dom$Native_Dom.height; +var _elm_lang$dom$Dom_Size$VisibleContentWithBordersAndMargins = {ctor: 'VisibleContentWithBordersAndMargins'}; +var _elm_lang$dom$Dom_Size$VisibleContentWithBorders = {ctor: 'VisibleContentWithBorders'}; +var _elm_lang$dom$Dom_Size$VisibleContent = {ctor: 'VisibleContent'}; +var _elm_lang$dom$Dom_Size$Content = {ctor: 'Content'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom.elmi new file mode 100644 index 0000000000000000000000000000000000000000..8515df14fcc77623fdc4c8d55d8101a3c495b102 GIT binary patch literal 1596 zcmeHH%TB{E5ZuIZ$bl38fyB8-Xe%K>g=p`{c@#x;YUIR7{5`1bq_IPakl;p6_GWf6 zyR#c2@44`9L|LVqORe_L92cc&_?Q4Hx2A9{Zb`14jrbPdmN6gY!dhebg7?|VbW7v* zC9=;0Kzgm(x&S%SFV z@JEjZ^^B}E2HA-b0c6l)ZwwBzLK3i_F@4Myi=-$NH%XZk#-exl?6AqhGe|{c?Qc{Y zn;j_W?CId*RU{^vzmghGpeJ{dX|S}YdF04Q8TXc#d$OUYx&J*P`g@OHs<&JHZj3hh TGcej2#(`{LT|XQCPm10Fo4m1P literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom.elmo new file mode 100644 index 0000000..00d6a73 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/Dom.elmo @@ -0,0 +1,5 @@ +var _elm_lang$dom$Dom$blur = _elm_lang$dom$Native_Dom.blur; +var _elm_lang$dom$Dom$focus = _elm_lang$dom$Native_Dom.focus; +var _elm_lang$dom$Dom$NotFound = function (a) { + return {ctor: 'NotFound', _0: a}; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/dom/1.1.1/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..8194afa6333a9e4386ca72a87a75e5629720bffb GIT binary patch literal 5005 zcmeI0-%f)t6vnIk$u874am{Yjc&S_&G)DFU1q22hpI(HXgU79|qoQUey5vVynIBibPM^GWy=Nu{w|Hfw%6O^D zktvH3R{BuOc`QZ3~BT$xK2u+!UBbqJ05E|RREWg?`9c}?L(z3@dKT1l@fL?d==+(8=W7m~} zT@!`_S<@SinV`5){$=S05g5%!>)uA0W!)Rt`zhNY_^e;1(6oE&C;H7y_BDvmBcIB( s{X6-rOS3KwoWK2-DI;NsQ{YiFjEOQmZ>JNhJ4b5IwBA)GHh*#F8)iKk;Q#;t literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi new file mode 100644 index 0000000000000000000000000000000000000000..beea82a7e60e80613400255ac9f754672a1d06f3 GIT binary patch literal 25739 zcmds=%Wm8@6o$th-Ns2;pzo1Qm)Ye8v_%UPO_6QDk?4^SN>nAvj`Q@TF6Sp_0=LD!97UC zK{+=x$H^hdzE!>anwCb5ql6Ai==WxH5_8>D@-=mh3-x4mQ&qYPKR)#O6GC^&OsMa9 zrEk?_+{ZXFFKb+cGiJ+?7P=_^70dE~n$7=*l^jNhTDDOnwOy%k`E$`E7(1&E9vVt)ywl70nb9 zm;Rw1j+Y6GKaFyc!I3I1Z&K1|0;&cF2N4e4d<2S4q>RG@i(Pr=?w8LjVtxsA!)Wds-b`N|HglrqM0l^HXvshBCB zAH5C2(-TO)8MBOf99BS=++3y!D_?rdbrTPmgi5^1fGPpVM5)YV!DtrDiAEcCuo38IC0ZAy%l%+t!mK z$v`B0%v(>_f{^mjC!7H0=8O)!a)Zv72)GHi!{>k`v^?SbGbkyo56)zBVgfst_%!Ic$IQcfc46-&7iai!$jayjB@4^#Ncp8AT%m3mr) z<<81eLqzvfmg|q)3K`u_1t{MRz;;y>gp{^LE)jE6?)~NIFcne?GP)lQS@Mm^aLFBz zgbz0B&3zD3>TB$f0HlPngqH?Q^Jo1H)inSbIG}T^!mQ{ z&oYSP12IagM$pg-%%QF@6ToP`U6hFS$Og713*?mZr+-}NhrwReu$ZJ zb%+H*zI9wKj-Z$s#j_R|DecbYvx^&2e1(CM(X_(z8#(3X29lX_b5RIHO3SmlqXZ-0 zEE)R&1SX;7S$t*!kWyF0izYWEoQrZ}ZZ1y&$!B?1U%ddN9Fjkbi%-w*aGpeozj^u& zUP{iqkcQ~*c3wi+OTq6h1_R${7suK_q!i`ma-JP>ah=Z%DgM~GDbw};9*{$>KJfv` TXIzuz{}}*~(zI@l&BDjO?347o literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo new file mode 100644 index 0000000..cac2be5 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo @@ -0,0 +1,349 @@ +var _elm_lang$html$Html_Attributes$map = _elm_lang$virtual_dom$VirtualDom$mapProperty; +var _elm_lang$html$Html_Attributes$attribute = _elm_lang$virtual_dom$VirtualDom$attribute; +var _elm_lang$html$Html_Attributes$contextmenu = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'contextmenu', value); +}; +var _elm_lang$html$Html_Attributes$draggable = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'draggable', value); +}; +var _elm_lang$html$Html_Attributes$itemprop = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'itemprop', value); +}; +var _elm_lang$html$Html_Attributes$tabindex = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'tabIndex', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$charset = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'charset', value); +}; +var _elm_lang$html$Html_Attributes$height = function (value) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'height', + _elm_lang$core$Basics$toString(value)); +}; +var _elm_lang$html$Html_Attributes$width = function (value) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'width', + _elm_lang$core$Basics$toString(value)); +}; +var _elm_lang$html$Html_Attributes$formaction = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'formAction', value); +}; +var _elm_lang$html$Html_Attributes$list = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'list', value); +}; +var _elm_lang$html$Html_Attributes$minlength = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'minLength', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$maxlength = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'maxlength', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$size = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'size', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$form = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'form', value); +}; +var _elm_lang$html$Html_Attributes$cols = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'cols', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$rows = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'rows', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$challenge = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'challenge', value); +}; +var _elm_lang$html$Html_Attributes$media = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'media', value); +}; +var _elm_lang$html$Html_Attributes$rel = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'rel', value); +}; +var _elm_lang$html$Html_Attributes$datetime = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'datetime', value); +}; +var _elm_lang$html$Html_Attributes$pubdate = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'pubdate', value); +}; +var _elm_lang$html$Html_Attributes$colspan = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'colspan', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$rowspan = function (n) { + return A2( + _elm_lang$html$Html_Attributes$attribute, + 'rowspan', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$manifest = function (value) { + return A2(_elm_lang$html$Html_Attributes$attribute, 'manifest', value); +}; +var _elm_lang$html$Html_Attributes$property = _elm_lang$virtual_dom$VirtualDom$property; +var _elm_lang$html$Html_Attributes$stringProperty = F2( + function (name, string) { + return A2( + _elm_lang$html$Html_Attributes$property, + name, + _elm_lang$core$Json_Encode$string(string)); + }); +var _elm_lang$html$Html_Attributes$class = function (name) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'className', name); +}; +var _elm_lang$html$Html_Attributes$id = function (name) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'id', name); +}; +var _elm_lang$html$Html_Attributes$title = function (name) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'title', name); +}; +var _elm_lang$html$Html_Attributes$accesskey = function ($char) { + return A2( + _elm_lang$html$Html_Attributes$stringProperty, + 'accessKey', + _elm_lang$core$String$fromChar($char)); +}; +var _elm_lang$html$Html_Attributes$dir = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'dir', value); +}; +var _elm_lang$html$Html_Attributes$dropzone = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'dropzone', value); +}; +var _elm_lang$html$Html_Attributes$lang = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'lang', value); +}; +var _elm_lang$html$Html_Attributes$content = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'content', value); +}; +var _elm_lang$html$Html_Attributes$httpEquiv = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'httpEquiv', value); +}; +var _elm_lang$html$Html_Attributes$language = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'language', value); +}; +var _elm_lang$html$Html_Attributes$src = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'src', value); +}; +var _elm_lang$html$Html_Attributes$alt = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'alt', value); +}; +var _elm_lang$html$Html_Attributes$preload = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'preload', value); +}; +var _elm_lang$html$Html_Attributes$poster = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'poster', value); +}; +var _elm_lang$html$Html_Attributes$kind = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'kind', value); +}; +var _elm_lang$html$Html_Attributes$srclang = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'srclang', value); +}; +var _elm_lang$html$Html_Attributes$sandbox = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'sandbox', value); +}; +var _elm_lang$html$Html_Attributes$srcdoc = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'srcdoc', value); +}; +var _elm_lang$html$Html_Attributes$type_ = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'type', value); +}; +var _elm_lang$html$Html_Attributes$value = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'value', value); +}; +var _elm_lang$html$Html_Attributes$defaultValue = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'defaultValue', value); +}; +var _elm_lang$html$Html_Attributes$placeholder = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'placeholder', value); +}; +var _elm_lang$html$Html_Attributes$accept = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'accept', value); +}; +var _elm_lang$html$Html_Attributes$acceptCharset = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'acceptCharset', value); +}; +var _elm_lang$html$Html_Attributes$action = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'action', value); +}; +var _elm_lang$html$Html_Attributes$autocomplete = function (bool) { + return A2( + _elm_lang$html$Html_Attributes$stringProperty, + 'autocomplete', + bool ? 'on' : 'off'); +}; +var _elm_lang$html$Html_Attributes$enctype = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'enctype', value); +}; +var _elm_lang$html$Html_Attributes$method = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'method', value); +}; +var _elm_lang$html$Html_Attributes$name = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'name', value); +}; +var _elm_lang$html$Html_Attributes$pattern = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'pattern', value); +}; +var _elm_lang$html$Html_Attributes$for = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'htmlFor', value); +}; +var _elm_lang$html$Html_Attributes$max = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'max', value); +}; +var _elm_lang$html$Html_Attributes$min = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'min', value); +}; +var _elm_lang$html$Html_Attributes$step = function (n) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'step', n); +}; +var _elm_lang$html$Html_Attributes$wrap = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'wrap', value); +}; +var _elm_lang$html$Html_Attributes$usemap = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'useMap', value); +}; +var _elm_lang$html$Html_Attributes$shape = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'shape', value); +}; +var _elm_lang$html$Html_Attributes$coords = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'coords', value); +}; +var _elm_lang$html$Html_Attributes$keytype = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'keytype', value); +}; +var _elm_lang$html$Html_Attributes$align = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'align', value); +}; +var _elm_lang$html$Html_Attributes$cite = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'cite', value); +}; +var _elm_lang$html$Html_Attributes$href = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'href', value); +}; +var _elm_lang$html$Html_Attributes$target = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'target', value); +}; +var _elm_lang$html$Html_Attributes$downloadAs = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'download', value); +}; +var _elm_lang$html$Html_Attributes$hreflang = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'hreflang', value); +}; +var _elm_lang$html$Html_Attributes$ping = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'ping', value); +}; +var _elm_lang$html$Html_Attributes$start = function (n) { + return A2( + _elm_lang$html$Html_Attributes$stringProperty, + 'start', + _elm_lang$core$Basics$toString(n)); +}; +var _elm_lang$html$Html_Attributes$headers = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'headers', value); +}; +var _elm_lang$html$Html_Attributes$scope = function (value) { + return A2(_elm_lang$html$Html_Attributes$stringProperty, 'scope', value); +}; +var _elm_lang$html$Html_Attributes$boolProperty = F2( + function (name, bool) { + return A2( + _elm_lang$html$Html_Attributes$property, + name, + _elm_lang$core$Json_Encode$bool(bool)); + }); +var _elm_lang$html$Html_Attributes$hidden = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'hidden', bool); +}; +var _elm_lang$html$Html_Attributes$contenteditable = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'contentEditable', bool); +}; +var _elm_lang$html$Html_Attributes$spellcheck = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'spellcheck', bool); +}; +var _elm_lang$html$Html_Attributes$async = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'async', bool); +}; +var _elm_lang$html$Html_Attributes$defer = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'defer', bool); +}; +var _elm_lang$html$Html_Attributes$scoped = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'scoped', bool); +}; +var _elm_lang$html$Html_Attributes$autoplay = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'autoplay', bool); +}; +var _elm_lang$html$Html_Attributes$controls = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'controls', bool); +}; +var _elm_lang$html$Html_Attributes$loop = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'loop', bool); +}; +var _elm_lang$html$Html_Attributes$default = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'default', bool); +}; +var _elm_lang$html$Html_Attributes$seamless = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'seamless', bool); +}; +var _elm_lang$html$Html_Attributes$checked = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'checked', bool); +}; +var _elm_lang$html$Html_Attributes$selected = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'selected', bool); +}; +var _elm_lang$html$Html_Attributes$autofocus = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'autofocus', bool); +}; +var _elm_lang$html$Html_Attributes$disabled = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'disabled', bool); +}; +var _elm_lang$html$Html_Attributes$multiple = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'multiple', bool); +}; +var _elm_lang$html$Html_Attributes$novalidate = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'noValidate', bool); +}; +var _elm_lang$html$Html_Attributes$readonly = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'readOnly', bool); +}; +var _elm_lang$html$Html_Attributes$required = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'required', bool); +}; +var _elm_lang$html$Html_Attributes$ismap = function (value) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'isMap', value); +}; +var _elm_lang$html$Html_Attributes$download = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'download', bool); +}; +var _elm_lang$html$Html_Attributes$reversed = function (bool) { + return A2(_elm_lang$html$Html_Attributes$boolProperty, 'reversed', bool); +}; +var _elm_lang$html$Html_Attributes$classList = function (list) { + return _elm_lang$html$Html_Attributes$class( + A2( + _elm_lang$core$String$join, + ' ', + A2( + _elm_lang$core$List$map, + _elm_lang$core$Tuple$first, + A2(_elm_lang$core$List$filter, _elm_lang$core$Tuple$second, list)))); +}; +var _elm_lang$html$Html_Attributes$style = _elm_lang$virtual_dom$VirtualDom$style; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi new file mode 100644 index 0000000000000000000000000000000000000000..35502d8306bb0545b395b4c5de8afaece81e9a2c GIT binary patch literal 5814 zcmds5ZEw>s5O&)%?N+);NboQA2lkCNLkw-|w88l7wq6^}v7^K;+P^0+ew@Tms00P! zeo1`2J3o(o=lG70&hK?+M97%&F|yAoB(IF*N+_1O!W%|+3_|!@>>9;WW4+J{Y6ZA!k#@%OEo;DzrFhWG zB(?^j6f>^v+=cynxzaiO^`%8$@ca_1?IKmN6jtGE&7P>{$`MZ#%{ELuQm!q9X)UYp zur+2FJ+qg&T(h1Lj2utScxu$39?obUuK)+qVZ@diy9i~G0v2xJdyzT7C+VM&m3 zgZ|#NU&#ysghkk&Dx*4aaESC^K?c_X5nCQ4RvwzLJr)4a8YKDVpzVP{JHAfdsUo?S zT45oeRC?{a@24@@)k$};wpj9rOE)e}?iR7$G zV}EJ3x(EJ}Z2A-aay&;5#&kLky1(OF+pbXlSq1F0f`E;nuKS-D?JwSf-ztLrjo)q` k?^x?+gR0%2X}1-RJ~5)%l-{Vy&C_i-x&5X;*RCPo02AS4TL1t6 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo new file mode 100644 index 0000000..43e1b1a --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo @@ -0,0 +1,114 @@ +var _elm_lang$html$Html_Events$keyCode = A2(_elm_lang$core$Json_Decode$field, 'keyCode', _elm_lang$core$Json_Decode$int); +var _elm_lang$html$Html_Events$targetChecked = A2( + _elm_lang$core$Json_Decode$at, + { + ctor: '::', + _0: 'target', + _1: { + ctor: '::', + _0: 'checked', + _1: {ctor: '[]'} + } + }, + _elm_lang$core$Json_Decode$bool); +var _elm_lang$html$Html_Events$targetValue = A2( + _elm_lang$core$Json_Decode$at, + { + ctor: '::', + _0: 'target', + _1: { + ctor: '::', + _0: 'value', + _1: {ctor: '[]'} + } + }, + _elm_lang$core$Json_Decode$string); +var _elm_lang$html$Html_Events$defaultOptions = _elm_lang$virtual_dom$VirtualDom$defaultOptions; +var _elm_lang$html$Html_Events$onWithOptions = _elm_lang$virtual_dom$VirtualDom$onWithOptions; +var _elm_lang$html$Html_Events$on = _elm_lang$virtual_dom$VirtualDom$on; +var _elm_lang$html$Html_Events$onFocus = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'focus', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onBlur = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'blur', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onSubmitOptions = _elm_lang$core$Native_Utils.update( + _elm_lang$html$Html_Events$defaultOptions, + {preventDefault: true}); +var _elm_lang$html$Html_Events$onSubmit = function (msg) { + return A3( + _elm_lang$html$Html_Events$onWithOptions, + 'submit', + _elm_lang$html$Html_Events$onSubmitOptions, + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onCheck = function (tagger) { + return A2( + _elm_lang$html$Html_Events$on, + 'change', + A2(_elm_lang$core$Json_Decode$map, tagger, _elm_lang$html$Html_Events$targetChecked)); +}; +var _elm_lang$html$Html_Events$onInput = function (tagger) { + return A2( + _elm_lang$html$Html_Events$on, + 'input', + A2(_elm_lang$core$Json_Decode$map, tagger, _elm_lang$html$Html_Events$targetValue)); +}; +var _elm_lang$html$Html_Events$onMouseOut = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'mouseout', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onMouseOver = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'mouseover', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onMouseLeave = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'mouseleave', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onMouseEnter = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'mouseenter', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onMouseUp = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'mouseup', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onMouseDown = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'mousedown', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onDoubleClick = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'dblclick', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$onClick = function (msg) { + return A2( + _elm_lang$html$Html_Events$on, + 'click', + _elm_lang$core$Json_Decode$succeed(msg)); +}; +var _elm_lang$html$Html_Events$Options = F2( + function (a, b) { + return {stopPropagation: a, preventDefault: b}; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi new file mode 100644 index 0000000000000000000000000000000000000000..e9746bab4d096e0dd46c476c376d40710bb5fa23 GIT binary patch literal 2568 zcmeHIJx{|h5OrcF4IdN#qYGm&)&6?)~3L+d65ZB!UF$EXkeb(zkwa&YhLBAmFJDd zA~lEvD7$qL8{b`CX@BuOU#4IIU^0yIg}g)Nutv0C+?AJh8H T>yK%Fn{H{WU-1@LUK_(FH?cdQ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo new file mode 100644 index 0000000..6d99fd5 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo @@ -0,0 +1,3 @@ +var _elm_lang$html$Html_Keyed$node = _elm_lang$virtual_dom$VirtualDom$keyedNode; +var _elm_lang$html$Html_Keyed$ol = _elm_lang$html$Html_Keyed$node('ol'); +var _elm_lang$html$Html_Keyed$ul = _elm_lang$html$Html_Keyed$node('ul'); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi new file mode 100644 index 0000000000000000000000000000000000000000..5921eed4330d9567936157069615af2c913ba1d4 GIT binary patch literal 1831 zcmds1u};G<5Or%Os(^|A=mJ|u+JS*0L=n5wgf@~*P;6H!Ur(#vbDUE}=O)YDJwMy` z?kN_c_ucm@AtsfvQ=`8(gsZK$hH?q6GWvIqB0Cljz3P#wJBlNU`IC0_+A%a+R7Jpj zpsMHY-iW=_&hyPny)P;TPTq|6UrlQXA5-MGoZIpeWfcl`dj4LyV0a_>%C~hK8(Pjj z!jIwY-F()q585mmG^o(UY$mXEq=iJ|LZ#9>#zg|1ONMnDGo=6d4NmGsnqysBx9R0_ zjFKOJyE{prmQg#XXQuMnlyP>T9WP5}bmc-${@@pa#)I`SEv{T)6fz)9iED?a?ySNN OT@TT~;mD&Gl7~OYu+e`2 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo new file mode 100644 index 0000000..d8d2b70 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo @@ -0,0 +1,3 @@ +var _elm_lang$html$Html_Lazy$lazy3 = _elm_lang$virtual_dom$VirtualDom$lazy3; +var _elm_lang$html$Html_Lazy$lazy2 = _elm_lang$virtual_dom$VirtualDom$lazy2; +var _elm_lang$html$Html_Lazy$lazy = _elm_lang$virtual_dom$VirtualDom$lazy; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi new file mode 100644 index 0000000000000000000000000000000000000000..2b629f1536bb22c5bfa9b3ac01235c2cdc1bb28c GIT binary patch literal 68309 zcmeI5OK;pZ5XZH8?IuCdqTeHj=5@#|4+K55LC_TKF`y)Rm$6=@Mwiw7Qq|ijJl?sgoZRmzZtV0Y$DX<=G*chAygEM3@8(Fb8aJ4=3VSj?dX*GO0toQSEYCWF+R`C8z-rMas2iVHigl-tqI z;W2)V;Er3nR^X=Nc}hw9}=|IeOZ(&dg8Ooqx9QN44S#S}W^JUb29R z>dZ`5y3?xATr}xfBF@xwXw)VUZ7@mnUwSRN@Aq=Vyb=}OA3BZ`&ULUkGrBA~&A&)Xz11~GO-hw% zPIyx&r%Kat?2Rw@BQeu+ec^vk>8DNameo2o!lM$@i}FoWUzmn|o9unXurKYJ-sW?) zIjiz>j;gCnv&?CeyXq{zI4t?wM z$$FJSlRx{Gn<)j}{mWR_tMX+-1xPg#K7ATcEU(HVk}5dL`W)lN2vpc7-<8nI{;gA` zIAhIDue?&R6e+5@?U6eQ$$L4Cd;3E{+%LE!DC*TR+W0QI)z%S(D~dWKc&ezrID5;i zE)zO(f2Ewoujj7%C|BRN^b;rtop*xNFU}$G+pd70N9<(dnegMUE)aNf&_qgYsq~g^ zdVX7~{bU_}v3mF>q-O%BF#`w$fw%H$bh7N7 z00;nO0G!tC0YCsK0w6Dl1c4w>guufZP~Zprgzy{I6aqisCxYL&-vIQ1J`wun?JqzO z2+APHd!2wF5EMah*kTFz0G|kaK7XbN=mUKs z^bIGz06xGc1fK(Z*luw;y2mD0v8_r}0e1J~~z6XF0_Gcmc^X?(w z1AJ2OJpz1yPYS-rfDiCV!S@940X`Y{=+Y^ScroG?8u8+&tADwXkd8}S9%{RE({mhf z`y~h5`uhu^_@MYi6dzqy2>=102!PRWb1LWqeIoQtckY5e@F&9Gco#3|1AQ{|4fisG zKF}vZA6=9V00E!~fJvz`jcvZL``yxQ?>FtVOiR7hHF{tGCQ@Hs=Qw`)pQjgN%bGE&0MKllYE@p zy-nE{x9`Q3vgc3@Pz^Gw!QY;35V#)?ev zC&XV=E1W$G`h@6<>*3zBaIydd>04(_jYV?cQHaO1$=>T6N74d7AppY$v-E&Z2)<3z zx~*;c78V&;WMnKdsYlQ>H2?&FQULa@?ePVOPFScDUZM8|dqV6bt+EPtVt_v({-V}u zeEQ+jPv+Ba-P&e5=)ZWfNArJE8#nLWS-<4x<2c2YsT?X$E*9kiV$!6jD(n-*9npKt-m>4 zbLyjfBrJ(Cy(;)N$}Qd-{gDMe$oQSFB>Zp4QMFt~ZvAG${!mY!_pP+5ERh+!m zdu=J9L)nsVf$mRJL;Ksf-K$bg!a6&pzNMgx|XJi-fUEDZsX|!49{y$=&La z2MeQL+UXJt)d6521z^%us>E7#birZ@u<31%)gk~;2*9{&71pT(KOy|m&e;ZAWibMg z`T&gl`ZE}xVSJVu|E{~f@+aqE`U4%XPzUVwA1u(IPl&$6sjS547yOCwmo)`?U+^cy zU+8d|1mF{bFLwHqyK-vTcfN_}u!&+bWKCJEFto?eUS?>Y`2CO#meoSL3u*Td2jau3 zE@f3u+)gWe+CupWDZkj63T7qXCxl<sR^_;h3;YT3x57u*X_% zz$XM>v{(4-1ARjDC3{oo2J;=5?~s}Ah(2b}e$akG+HX2Lk7u**JahgIuB`WmdLI6k uyIW76bN5*X>23UpldZPyf|6LKF@?pyUVpIPR}vw9JzP9CmzIUVGV%f;rlHjLz8@)kB8r(X4Fy-ZF z*!{U)?|!`uq2l9i4C+v}=ra<})!O+G3#PswD_b>3@a)6(*^69<3ptzNB?&*toN^4( zIM>AI{=gq#o`yJg^Rpk7Op_3L8sFY3N`)k>KTSZsx(istF1qgfS$=ZfIOH4I5TCw?5t!-lb6LGlExX6ueB=0%etV+eJy8H_9_ON+P+;n U+|%~$k}4kEn56~6ufJVF-_CM`I{*Lx literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Internal.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Internal.elmi new file mode 100644 index 0000000000000000000000000000000000000000..2c98acd0d4ab1e3703c66b51ad44a0c0c8027ba9 GIT binary patch literal 6474 zcmeHLZEo8z43%TYNs9slc8^`4Kl_Ca*oGnP1>{(34A`+}%j0V<<;y3c2MZ|+`ksK-&v@a{;C#lPXX0lqDv4=>G$LAf z`@0Zx&A~vQ*h?W)lff5UC*k{EI!2YP)CmS;Y?I@il{(msNCrA29HSwOTjsQtcw)HGw8p(WMJ?(^RZcG zxn;v~kb&fG!ac&`Hn2ji>DB4yr4;3orzFxu6(Q8`Ot=ks4>mV0Q9lctooThUL^y{l z7$WNuI@50FkZ}&^gx5Cg347brov~ z$18Vu=!}>w)|IO2D_LlpnUIS-Mu>FEs@aKb3PE1W7BB1olZ8WT@Lr%)*7|js?%BwP z=R_{9OA(8uOn6#pwl#{?a>n#kWPtVBCGb*P;tsH8>{wyllD4lrymV%$RN21anD=qO zMjs|F;av{wzl};03d&`pYD8>E=OLYs;OeBH`SvQ+FN`Da1TR|=9S_50%k3o0Tfh0e z-2wb7j41>_m)XVA6x;jk0|v9)DB5VN$bc7}uo_#fI9TZ4xyumM-VJK46#I87Pfa4|E1GuId@N~i#*PbZS!nE&j^5gb z0iVGCAK8+@^;Nd0uD{VFh3BXBJLIE&IMV;4FSJPJ&@4O+PuXk*?7_p}G?{bj^WghB z>-gEp`I57INr9KDt-q4OZY#W?Pc!HMym<06rTiw#7n*P_5cB!u>muIt%GGLSu|E}J zo!3$YqR}NQR;kTjbj9~S}Oh9w=~Kn}L8XjY%2aTA{9d6w^+=hATYO;Z|Z zprr=-4`)xD6>vu;!eaCrALK7*|2?odXR-Olo>>pCOEe-C4`2%+DD=4l?Keq)#h2`# z6L^D?4NPNrZCvn+nv$`(MFhW%M=1YbmJ zy5)$;k?;)7Ta8C*XzAuF(=G)JV!dNDW_i(oMZI-1`Y!1}M;DCWW%YoE!KQwm@?^oX z6>pKlJj(%nL05)zF>Xf9W5&@=a4o27KJhgffjUX}EzKy{@MM*z)h}j8K0YS=?rY9s zw&V#-YX}fZ&%j}lDbFN6lC6Xd-Nj={;Vb-twELcC72JbC0k6BEl0l?JL5_e2b8LH^ z@Zt&iZi9$Yg^eD~D&0icG7%30rGTd%2DHh;*u$oeuZMtv0Zg+`FxlPKD)4a|v3d#; z_aT6ghYtbdpzt9;O9lZ920PS4g#gNgNkrqgbl`i52ztY#sbJZW@>m0+mR`96NYo_G zsEi@z)!7&7|a=o$JG~ttG!`^$2f@vK7Ay_;97>jL4=*l_vxc@ z?D+IixqdRl993E-`DLD^sYrl}V613bG--*zHsyP)IcRgH$wRIsDj!zL0cxY74=aUO zd{`+~H2X}lDJ&!dXY4hVAXz578Sh+^TC@m`7sO#sJ7Ia=ynf+m(A<^~{$T&ITyra#+qGqZU8n;1SQ>@pXrpyrWfXOTzd(*8LW#Wk~I;Ew(z^u{Tb<6YyPb zbvTbZcGGUi&~GP}TuSw-wDtmZQl%amlLZy~hhTKn3)G_-=}o@dyL&+&!oh5^6@5VtZB{uR~Mi!da(wUGd@}Q$YPe zXZRN99nFr%X}a~cYGcNs!OqVpr69I3Pd}qnV`k&}hLzxalSZn|OZb8-mfl>5oxn%z z3!d*ynlZ^|lE81<37|TY)GR%Z=o)jLzuU(lN{{Fs(KS$SHd6iKhvI=gF7=U?ml@&f zo{;I^@_gN&`o2THy(6e^pYxQP0*@l=X>js-vK(c%w7z}j^VMZOk#>j6bSNUtF-u2q zc$3qEX6ZS?6g+Ro*M3#FJV)M1ls@89;P2<~)iQ7Mv`qWSs94P|8W)CJruAKc(0Mv@ z)MFI__pUs#x~=|x6&)?+dGf%MY}uBt=%r(&8)*?9!a=|}TT>IUmr=8hE?wuZBc92f zHQUi^nhOk?k8g&tj?(tQwj2|FKcNsq~O=M^7l7P1L{ z9M!hCHSV;(P*tJU>#+3b_3Yvcm0yx2e?VJuGS#eKg#GXZK1wp(R9Z#RYH@pr0LTgx zuu;?|STVJsToM|mKxTJu4lS7B3`7ETf&-Y-MR(K-$CBl$j(Qw)Z=W1~kZ*%5*9Na~ zkRlc>^`F>-ENaZ@1umq4RKm!t;~9B-bX0|acvi_@% literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Progress.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Progress.elmo new file mode 100644 index 0000000..5d89c9c --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http-Progress.elmo @@ -0,0 +1,195 @@ +var _elm_lang$http$Http_Progress$onSelfMsg = F3( + function (router, _p0, state) { + return _elm_lang$core$Task$succeed(state); + }); +var _elm_lang$http$Http_Progress$addSub = F2( + function (_p1, subDict) { + var _p2 = _p1; + var _p3 = _p2._1; + var request = _p3.request; + var uid = A2( + _elm_lang$core$Basics_ops['++'], + _p2._0, + A2(_elm_lang$core$Basics_ops['++'], request.method, request.url)); + return A3(_elm_lang$core$Dict$insert, uid, _p3, subDict); + }); +var _elm_lang$http$Http_Progress$collectSubs = function (subs) { + return A3(_elm_lang$core$List$foldl, _elm_lang$http$Http_Progress$addSub, _elm_lang$core$Dict$empty, subs); +}; +var _elm_lang$http$Http_Progress$toTask = F2( + function (router, _p4) { + var _p5 = _p4; + return A2( + _elm_lang$core$Task$onError, + function (_p6) { + return A2( + _elm_lang$core$Platform$sendToApp, + router, + _p5.toError(_p6)); + }, + A2( + _elm_lang$core$Task$andThen, + _elm_lang$core$Platform$sendToApp(router), + A2( + _elm_lang$http$Native_Http.toTask, + _p5.request, + _elm_lang$core$Maybe$Just( + function (_p7) { + return A2( + _elm_lang$core$Platform$sendToApp, + router, + _p5.toProgress(_p7)); + })))); + }); +var _elm_lang$http$Http_Progress$spawnRequests = F3( + function (router, trackedRequests, state) { + var _p8 = trackedRequests; + if (_p8.ctor === '[]') { + return _elm_lang$core$Task$succeed(state); + } else { + return A2( + _elm_lang$core$Task$andThen, + function (process) { + return A3( + _elm_lang$http$Http_Progress$spawnRequests, + router, + _p8._1, + A3(_elm_lang$core$Dict$insert, _p8._0._0, process, state)); + }, + _elm_lang$core$Process$spawn( + A2(_elm_lang$http$Http_Progress$toTask, router, _p8._0._1))); + } + }); +var _elm_lang$http$Http_Progress$onEffects = F3( + function (router, subs, state) { + var rightStep = F3( + function (id, trackedRequest, _p9) { + var _p10 = _p9; + return { + ctor: '_Tuple3', + _0: _p10._0, + _1: _p10._1, + _2: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: id, _1: trackedRequest}, + _1: _p10._2 + } + }; + }); + var bothStep = F4( + function (id, process, _p12, _p11) { + var _p13 = _p11; + return { + ctor: '_Tuple3', + _0: _p13._0, + _1: A3(_elm_lang$core$Dict$insert, id, process, _p13._1), + _2: _p13._2 + }; + }); + var leftStep = F3( + function (id, process, _p14) { + var _p15 = _p14; + return { + ctor: '_Tuple3', + _0: { + ctor: '::', + _0: _elm_lang$core$Process$kill(process), + _1: _p15._0 + }, + _1: _p15._1, + _2: _p15._2 + }; + }); + var subDict = _elm_lang$http$Http_Progress$collectSubs(subs); + var _p16 = A6( + _elm_lang$core$Dict$merge, + leftStep, + bothStep, + rightStep, + state, + subDict, + { + ctor: '_Tuple3', + _0: {ctor: '[]'}, + _1: _elm_lang$core$Dict$empty, + _2: {ctor: '[]'} + }); + var dead = _p16._0; + var ongoing = _p16._1; + var $new = _p16._2; + return A2( + _elm_lang$core$Task$andThen, + function (_p17) { + return A3(_elm_lang$http$Http_Progress$spawnRequests, router, $new, ongoing); + }, + _elm_lang$core$Task$sequence(dead)); + }); +var _elm_lang$http$Http_Progress$init = _elm_lang$core$Task$succeed(_elm_lang$core$Dict$empty); +var _elm_lang$http$Http_Progress$map = F2( + function (func, _p18) { + var _p19 = _p18; + return { + request: A2(_elm_lang$http$Http_Internal$map, func, _p19.request), + toProgress: function (_p20) { + return func( + _p19.toProgress(_p20)); + }, + toError: function (_p21) { + return func( + _p19.toError(_p21)); + } + }; + }); +var _elm_lang$http$Http_Progress$subscription = _elm_lang$core$Native_Platform.leaf('Http.Progress'); +var _elm_lang$http$Http_Progress$TrackedRequest = F3( + function (a, b, c) { + return {request: a, toProgress: b, toError: c}; + }); +var _elm_lang$http$Http_Progress$Done = function (a) { + return {ctor: 'Done', _0: a}; +}; +var _elm_lang$http$Http_Progress$Fail = function (a) { + return {ctor: 'Fail', _0: a}; +}; +var _elm_lang$http$Http_Progress$Some = function (a) { + return {ctor: 'Some', _0: a}; +}; +var _elm_lang$http$Http_Progress$None = {ctor: 'None'}; +var _elm_lang$http$Http_Progress$Track = F2( + function (a, b) { + return {ctor: 'Track', _0: a, _1: b}; + }); +var _elm_lang$http$Http_Progress$track = F3( + function (id, toMessage, _p22) { + var _p23 = _p22; + return _elm_lang$http$Http_Progress$subscription( + A2( + _elm_lang$http$Http_Progress$Track, + id, + { + request: A2( + _elm_lang$http$Http_Internal$map, + function (_p24) { + return toMessage( + _elm_lang$http$Http_Progress$Done(_p24)); + }, + _p23._0), + toProgress: function (_p25) { + return toMessage( + _elm_lang$http$Http_Progress$Some(_p25)); + }, + toError: function (_p26) { + return toMessage( + _elm_lang$http$Http_Progress$Fail(_p26)); + } + })); + }); +var _elm_lang$http$Http_Progress$subMap = F2( + function (func, _p27) { + var _p28 = _p27; + return A2( + _elm_lang$http$Http_Progress$Track, + _p28._0, + A2(_elm_lang$http$Http_Progress$map, func, _p28._1)); + }); +_elm_lang$core$Native_Platform.effectManagers['Http.Progress'] = {pkg: 'elm-lang/http', init: _elm_lang$http$Http_Progress$init, onEffects: _elm_lang$http$Http_Progress$onEffects, onSelfMsg: _elm_lang$http$Http_Progress$onSelfMsg, tag: 'sub', subMap: _elm_lang$http$Http_Progress$subMap}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http.elmi new file mode 100644 index 0000000000000000000000000000000000000000..30093f2629284e919e750888cfe55baa1903f9d8 GIT binary patch literal 10400 zcmeHN&2rmD3??O#l0E5k+Ucbakr&7@u{&v}&3Iy`_qDXO*^r{jpQe8MQe1pXEGWt} zL#4KxT&x8_`~wRD@jU0>_s+@lmO4paCTep-@Zh#AxAgl*;0A@>tZ_KG(dA{C$MzL( zUPJIS*k*-2EOPx8xgrRD>?A2{B7U2L;Wq4DrUZ&uk_f5>ACS!)4_%Ir!NAAQ1D zyf<3o9KCI{#xdB5JtN$J3+w?UI&UP$aVdqe0FVjK^E`uHL!uqMR_hOW0;#UzRA&{e z^WvQ@KV|tx{^Cjf!eyz-s-SmHYruuNOEP7>{~bMoY&DZ2Uf~5m!!vzdA*28d&f*o= zL-62j8*a;=H>J)u3KCl!=B((fF+K^g7vsEfm=H7gHMU_0dBWe+-8CEyQqenA#(x9K z#lvgMi$s-wWO*utkns7N6jlTA4$5V9Ed-5fU)S+1p-#dIbpm(V30EZjjM!ZlhxMs=Z5gR`sEcY`9L?K4=E zp3kd1vG3tozecRcTa8#II^~2_g|F^=dhWw5AfscN;Bc;yX-KxIE=BexNS7~_<~FT% zrRO+#2REb zFA0An+ds^PAQbd=p9|BAqV4vP zY`z+8J8Jw%=$0V+bwGM{t6S;WtuFg(!K~#$?49qY$yI`caGZZM#Uv+EujjLGw4&|3 zWf;Jo!&=m5+=d!+>@`FE*#R>R>AKyIBlpzlyg~T6q+>H>>BRCd1LCzWTFfv9p?quo z!G0YO|AEy^a%-6oe>S&*IZ%5>=e%SJRh8s0VRe%{B`cBvv$oD-2^g(B&9#W%gjc;w zxSa_OsufVr33X>C6#lM~N{?2XHzE@%&B=-pXV2)R-yAG;kOsW9YC6})tiKr|!;{ET z?{SKJpoFo(5tMPl(ivtRp`Dba!j>mQg|CiSm|7;p*RBKb9lxLlO>gixy=x?l%;&>s z5k;$gTt5hAT{qYP0LkHwe8($k_8cHO-KU>>A4I7xZ?iQL%2o%%cTt)($FQt~ZJcjo z=iv97gJn19@aa4MUEdQhOZZd0PQh4r@7UI0e)}mdZ{Os4tv6+?lEMrAme{$W|!t9o)NU7;64R6BuMp?@3Nxv!wkn%QnK`9>2ap6fgx zZC+=tI?L>i{&3^7M@pFxj-;O{9tw@GD59adBR!%$q#s!9m}7gvVEbp_m`vks`s?g% z#51<=GfxiOf%l~8gJxoOy@U4f!0kBo{`9{Yzcqa?yx$z)3cf`*u+Ds|Kgqs21^v~S z)qKBGc&&z`;61)`>Twvd+TMl+5BbdR9&b=Z0YUz4FNge`s`xM<6?Xr%16p*3uq>2@ ma1$Ir))qFmlb=pYmu_#1JDsAEMMu+vl@A3DfB(mY&ifYx2x;d4 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http.elmo new file mode 100644 index 0000000..a4b3596 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/Http.elmo @@ -0,0 +1,94 @@ +var _elm_lang$http$Http$decodeUri = _elm_lang$http$Native_Http.decodeUri; +var _elm_lang$http$Http$encodeUri = _elm_lang$http$Native_Http.encodeUri; +var _elm_lang$http$Http$expectStringResponse = _elm_lang$http$Native_Http.expectStringResponse; +var _elm_lang$http$Http$expectJson = function (decoder) { + return _elm_lang$http$Http$expectStringResponse( + function (response) { + return A2(_elm_lang$core$Json_Decode$decodeString, decoder, response.body); + }); +}; +var _elm_lang$http$Http$expectString = _elm_lang$http$Http$expectStringResponse( + function (response) { + return _elm_lang$core$Result$Ok(response.body); + }); +var _elm_lang$http$Http$multipartBody = _elm_lang$http$Native_Http.multipart; +var _elm_lang$http$Http$stringBody = _elm_lang$http$Http_Internal$StringBody; +var _elm_lang$http$Http$jsonBody = function (value) { + return A2( + _elm_lang$http$Http_Internal$StringBody, + 'application/json', + A2(_elm_lang$core$Json_Encode$encode, 0, value)); +}; +var _elm_lang$http$Http$emptyBody = _elm_lang$http$Http_Internal$EmptyBody; +var _elm_lang$http$Http$header = _elm_lang$http$Http_Internal$Header; +var _elm_lang$http$Http$request = _elm_lang$http$Http_Internal$Request; +var _elm_lang$http$Http$post = F3( + function (url, body, decoder) { + return _elm_lang$http$Http$request( + { + method: 'POST', + headers: {ctor: '[]'}, + url: url, + body: body, + expect: _elm_lang$http$Http$expectJson(decoder), + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false + }); + }); +var _elm_lang$http$Http$get = F2( + function (url, decoder) { + return _elm_lang$http$Http$request( + { + method: 'GET', + headers: {ctor: '[]'}, + url: url, + body: _elm_lang$http$Http$emptyBody, + expect: _elm_lang$http$Http$expectJson(decoder), + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false + }); + }); +var _elm_lang$http$Http$getString = function (url) { + return _elm_lang$http$Http$request( + { + method: 'GET', + headers: {ctor: '[]'}, + url: url, + body: _elm_lang$http$Http$emptyBody, + expect: _elm_lang$http$Http$expectString, + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false + }); +}; +var _elm_lang$http$Http$toTask = function (_p0) { + var _p1 = _p0; + return A2(_elm_lang$http$Native_Http.toTask, _p1._0, _elm_lang$core$Maybe$Nothing); +}; +var _elm_lang$http$Http$send = F2( + function (resultToMessage, request) { + return A2( + _elm_lang$core$Task$attempt, + resultToMessage, + _elm_lang$http$Http$toTask(request)); + }); +var _elm_lang$http$Http$Response = F4( + function (a, b, c, d) { + return {url: a, status: b, headers: c, body: d}; + }); +var _elm_lang$http$Http$BadPayload = F2( + function (a, b) { + return {ctor: 'BadPayload', _0: a, _1: b}; + }); +var _elm_lang$http$Http$BadStatus = function (a) { + return {ctor: 'BadStatus', _0: a}; +}; +var _elm_lang$http$Http$NetworkError = {ctor: 'NetworkError'}; +var _elm_lang$http$Http$Timeout = {ctor: 'Timeout'}; +var _elm_lang$http$Http$BadUrl = function (a) { + return {ctor: 'BadUrl', _0: a}; +}; +var _elm_lang$http$Http$StringPart = F2( + function (a, b) { + return {ctor: 'StringPart', _0: a, _1: b}; + }); +var _elm_lang$http$Http$stringPart = _elm_lang$http$Http$StringPart; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/http/1.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..ee0d0c3ddda1e558eb17e2567fe24f5bd82e06df GIT binary patch literal 4540 zcmeHLT~ER=6rHk79(?e@zu}7U$;2ncM2#9E`vavEtc;Dcor(WmCcQ&SD(l)e$4l8q zPtHBP_w;r_@bl|!hM-Tgw8CV8=Tsno zMinNyOa{pS2~JQoEm=QQxNRt$o92>&Q}ry;d8_N1{*V!A!f7DGv6}l^hW=wNDbI0c z!fn8>#(fe+u5jWZCB+mX+f%G9>V58r3R*@l_-kUMXCY?%iY5C5q#bD?oj`Vrp!=f? z%UQu8<$8C^sly6E)bSe?WoFEw1_S{qOtDyaU=*fo3F5WM65tcxV!?>;z$hBhNeS-a zLMeP^!iUse!8`CI*XEIF$!*hQo$EmxV31kfv{4Jj}(9m}!$jIiT!VoF#G2iox* z&CYKucR2*}9k;tv4{`Z*RxparaDqrJjy`}yo#9l<98yU)iGON1BVNoo6|nPK8xG8O zG@LV)%xzWy@;-FzuWOv@ykO$v$=IFZ^whigr~uIHWSs|On?^3-b*l}$SY-toP_=CE*f z&)f1Hy&(;xT0AJ;YF#Ru4l{@S@l916f~-3+AeBAJrc*? z&B&<}qEhUKLzF(y6#I{+B!)Slh{SLTa37)k&GGmLdc zcIMb5m+xTIv5MWYNc<3xyAJbYe0wC%r6nM*4cqi77%$Z-l*d>LUu91uUBMMGc%)(y>!jilhgLJj&nbq z#yEXK^C88jz4Bd(FO|A?mDLTzy5aNhq{iVwrYS0Ma>RSW5kR9F6ODsWFhZOqs16Hm zj|%r63ImH+NXuVgk)4S`dQIkyQBpAY=jqi@J`}~DVV))2#P0_rZ$V-SeX*hBh8Y)a z5L)6YhC0{~@;8J_+6E;*5-fX&*M^g~l_hN>x&E4BkrvD-?=K_(64kMK^L%H~NF!_{ eV@<|yrTk(q0K9pyrax?nW;&Z?aWKx)Ct6pL`jejk literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/Navigation.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/Navigation.elmi new file mode 100644 index 0000000000000000000000000000000000000000..83995129df7ccb6d70895a0434b7a3a54b977667 GIT binary patch literal 22337 zcmeHPOLN;c5C$cRlAUHI(`)a&Wv0_(4n4GPC(c+NPn@L33`9W^$0Whw!?OQ<`M`nz zNzh_M>fu5c;YB>ZUFujFMa&zta0p6pQX&;3v+?(2Z&5p zG~D8F331CO+pnPu(F>0*oz=6DG7Uny4zUL%-m&<0L-| z5>@BS`b?t4t&YRGk3)w81UhJb!4aSV(k5S$z=g5>!rC1D`Ujdoi7MPon}+ZKlo4wd z!!W)v2}3ArJV7h;fu~_(Jc7tB4OZt=Y7{Cmo_Gi!csz@N$Fn%>@(ey4fW(InNLaHm z;0H;>T9$aR0IS#hlz0K+wT-X+SdF(jKZOSCv_F|Ym(*-Pxv>`k8!I^>Zykv9Y!Z}M z>oQa2M6fk6Ocrrn#X}tjL>Xc|P`tBH!GEWTnWnXy~jRUy(Zta1?E6 zxK!uIo0gU*0S)8t%8x@DQ=7Vqd@CY2v{e%_OCl1sG>xozzMYq#XRtdE?x%C=J24HB zn(=D%;L}5o$ijMqiXhF1^)tF3-;(XIU^=;vaZHe69~pcC)D1LAS(0=rMGPg2ZmOpu zN{+5U97V=nLf8cpQLmTE?sTDfwl)PyMBGSW*hPSgW=cyYC%@LIh0QWb7U>vSOqP$- zL+>>G^XGQDMTK_B`_L{`i9m!;s#3h5841BAv1)32%a6njQpyE1{D|6MeWpoF(oHJ= z@v1WUtrrMup$CDqTTJmRrOrWwo@0@M8h;&WO`%38VJOlQkbtNKi(#O*ObzEC--TXe zJI&-aHNJ3Sp$||kntso%2*35I^zPlyTJIQ@TPf?9;{XYYCd{9)XyGUOucv{BL`&NF z;y1Oa=V5<2=vXoqsUD38PFROMm^~OSp(=F9t!A{QrF5D#+&f8f_z9LVKGY#-t8B2= z48xG=q}p5W1KpdZS?@;lLD{!XWLil7MXfL?8M39YmN2skk}Pm)%I`G&Y6>yuaQ?-);)^!3em6Qekvm@dG)|8ITLcGjyuc)@8@pDjGE`Ufo^!M$ zA4{p~h2d)5yN1DGbZ_NqH8BfOEfvGS@>D0qkUxm737pJ$sx`wls0-@1Fjx=-R zb0o94|JyO!(9BU`5K8gKFnM5+TuJ7gM1HMtasQz5xP&d}QKewz^8P3n*UCOy){{P| zI|b-zWxrSjeRSD^gigDR+OWj%p2~Cg#9hr(KP|N_tBLbzWjC9_*XTB-+yJ{EPb-}V zQabx_E7L9}rMtQoN6RDO_H*xEIE9AZsY0(s2-!s6Bg@EBWzwiNm0{lPoq3B0W(F=N@1uc!M%~?3wUDkT(MCsi-E`v>-u##YzdC5y?hX{0q%@dr@9C_Z%M<=~h zAoo$pTFp&)e-u6u@05yR$gg<`sS)w!(Fx-OyYH9$CM(o(`K`z*@3@+`!cA2uma`Xi z1G`8ina{s)m$zGGP2w>0tyq7EJ2iJSu zSzQ#=d!2;v0@!-5tM7&9zSqGrPjW8BW4Ry)F=6An2$E=1oKu4U2hyingy`{61Z5-I z5PgalX1j?}RaHQ;76BNICyjwB=`pz@y^?==m!?_YehNw8Vw-5*p`U6Hp5IYF)zGJ< zS@RBb&d+tcjRL&&?`TjkkNq|k?SY?hWZ6CSEWx1^1DZ@eq9`GTVJB6&R(EP-__ret z%oLkua`-_qiNQ+Ey9c<7++g1A@h);x?F$fz(gAY&b&IQ27u6;=2;9?|i-RPFK6e(f&@C+488FS}-hDNxfx( xuqR**U{yOR)JrhP5->tiy79oY!@3;RxxeV_srnZqez>~JnU} literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/Navigation.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/Navigation.elmo new file mode 100644 index 0000000..517c4fc --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/Navigation.elmo @@ -0,0 +1,244 @@ +var _elm_lang$navigation$Navigation$replaceState = _elm_lang$navigation$Native_Navigation.replaceState; +var _elm_lang$navigation$Navigation$pushState = _elm_lang$navigation$Native_Navigation.pushState; +var _elm_lang$navigation$Navigation$go = _elm_lang$navigation$Native_Navigation.go; +var _elm_lang$navigation$Navigation$spawnPopState = function (router) { + return _elm_lang$core$Process$spawn( + A3( + _elm_lang$dom$Dom_LowLevel$onWindow, + 'popstate', + _elm_lang$core$Json_Decode$value, + function (_p0) { + return A2( + _elm_lang$core$Platform$sendToSelf, + router, + _elm_lang$navigation$Native_Navigation.getLocation( + {ctor: '_Tuple0'})); + })); +}; +var _elm_lang$navigation$Navigation_ops = _elm_lang$navigation$Navigation_ops || {}; +_elm_lang$navigation$Navigation_ops['&>'] = F2( + function (task1, task2) { + return A2( + _elm_lang$core$Task$andThen, + function (_p1) { + return task2; + }, + task1); + }); +var _elm_lang$navigation$Navigation$notify = F3( + function (router, subs, location) { + var send = function (_p2) { + var _p3 = _p2; + return A2( + _elm_lang$core$Platform$sendToApp, + router, + _p3._0(location)); + }; + return A2( + _elm_lang$navigation$Navigation_ops['&>'], + _elm_lang$core$Task$sequence( + A2(_elm_lang$core$List$map, send, subs)), + _elm_lang$core$Task$succeed( + {ctor: '_Tuple0'})); + }); +var _elm_lang$navigation$Navigation$onSelfMsg = F3( + function (router, location, state) { + return A2( + _elm_lang$navigation$Navigation_ops['&>'], + A3(_elm_lang$navigation$Navigation$notify, router, state.subs, location), + _elm_lang$core$Task$succeed(state)); + }); +var _elm_lang$navigation$Navigation$cmdHelp = F3( + function (router, subs, cmd) { + var _p4 = cmd; + switch (_p4.ctor) { + case 'Jump': + return _elm_lang$navigation$Navigation$go(_p4._0); + case 'New': + return A2( + _elm_lang$core$Task$andThen, + A2(_elm_lang$navigation$Navigation$notify, router, subs), + _elm_lang$navigation$Navigation$pushState(_p4._0)); + default: + return A2( + _elm_lang$core$Task$andThen, + A2(_elm_lang$navigation$Navigation$notify, router, subs), + _elm_lang$navigation$Navigation$replaceState(_p4._0)); + } + }); +var _elm_lang$navigation$Navigation$subscription = _elm_lang$core$Native_Platform.leaf('Navigation'); +var _elm_lang$navigation$Navigation$command = _elm_lang$core$Native_Platform.leaf('Navigation'); +var _elm_lang$navigation$Navigation$Location = function (a) { + return function (b) { + return function (c) { + return function (d) { + return function (e) { + return function (f) { + return function (g) { + return function (h) { + return function (i) { + return function (j) { + return function (k) { + return {href: a, host: b, hostname: c, protocol: d, origin: e, port_: f, pathname: g, search: h, hash: i, username: j, password: k}; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; +}; +var _elm_lang$navigation$Navigation$State = F2( + function (a, b) { + return {subs: a, process: b}; + }); +var _elm_lang$navigation$Navigation$init = _elm_lang$core$Task$succeed( + A2( + _elm_lang$navigation$Navigation$State, + {ctor: '[]'}, + _elm_lang$core$Maybe$Nothing)); +var _elm_lang$navigation$Navigation$onEffects = F4( + function (router, cmds, subs, _p5) { + var _p6 = _p5; + var _p9 = _p6.process; + var stepState = function () { + var _p7 = {ctor: '_Tuple2', _0: subs, _1: _p9}; + _v3_2: + do { + if (_p7._0.ctor === '[]') { + if (_p7._1.ctor === 'Just') { + return A2( + _elm_lang$navigation$Navigation_ops['&>'], + _elm_lang$core$Process$kill(_p7._1._0), + _elm_lang$core$Task$succeed( + A2(_elm_lang$navigation$Navigation$State, subs, _elm_lang$core$Maybe$Nothing))); + } else { + break _v3_2; + } + } else { + if (_p7._1.ctor === 'Nothing') { + return A2( + _elm_lang$core$Task$map, + function (_p8) { + return A2( + _elm_lang$navigation$Navigation$State, + subs, + _elm_lang$core$Maybe$Just(_p8)); + }, + _elm_lang$navigation$Navigation$spawnPopState(router)); + } else { + break _v3_2; + } + } + } while(false); + return _elm_lang$core$Task$succeed( + A2(_elm_lang$navigation$Navigation$State, subs, _p9)); + }(); + return A2( + _elm_lang$navigation$Navigation_ops['&>'], + _elm_lang$core$Task$sequence( + A2( + _elm_lang$core$List$map, + A2(_elm_lang$navigation$Navigation$cmdHelp, router, subs), + cmds)), + stepState); + }); +var _elm_lang$navigation$Navigation$Modify = function (a) { + return {ctor: 'Modify', _0: a}; +}; +var _elm_lang$navigation$Navigation$modifyUrl = function (url) { + return _elm_lang$navigation$Navigation$command( + _elm_lang$navigation$Navigation$Modify(url)); +}; +var _elm_lang$navigation$Navigation$New = function (a) { + return {ctor: 'New', _0: a}; +}; +var _elm_lang$navigation$Navigation$newUrl = function (url) { + return _elm_lang$navigation$Navigation$command( + _elm_lang$navigation$Navigation$New(url)); +}; +var _elm_lang$navigation$Navigation$Jump = function (a) { + return {ctor: 'Jump', _0: a}; +}; +var _elm_lang$navigation$Navigation$back = function (n) { + return _elm_lang$navigation$Navigation$command( + _elm_lang$navigation$Navigation$Jump(0 - n)); +}; +var _elm_lang$navigation$Navigation$forward = function (n) { + return _elm_lang$navigation$Navigation$command( + _elm_lang$navigation$Navigation$Jump(n)); +}; +var _elm_lang$navigation$Navigation$cmdMap = F2( + function (_p10, myCmd) { + var _p11 = myCmd; + switch (_p11.ctor) { + case 'Jump': + return _elm_lang$navigation$Navigation$Jump(_p11._0); + case 'New': + return _elm_lang$navigation$Navigation$New(_p11._0); + default: + return _elm_lang$navigation$Navigation$Modify(_p11._0); + } + }); +var _elm_lang$navigation$Navigation$Monitor = function (a) { + return {ctor: 'Monitor', _0: a}; +}; +var _elm_lang$navigation$Navigation$program = F2( + function (locationToMessage, stuff) { + var init = stuff.init( + _elm_lang$navigation$Native_Navigation.getLocation( + {ctor: '_Tuple0'})); + var subs = function (model) { + return _elm_lang$core$Platform_Sub$batch( + { + ctor: '::', + _0: _elm_lang$navigation$Navigation$subscription( + _elm_lang$navigation$Navigation$Monitor(locationToMessage)), + _1: { + ctor: '::', + _0: stuff.subscriptions(model), + _1: {ctor: '[]'} + } + }); + }; + return _elm_lang$html$Html$program( + {init: init, view: stuff.view, update: stuff.update, subscriptions: subs}); + }); +var _elm_lang$navigation$Navigation$programWithFlags = F2( + function (locationToMessage, stuff) { + var init = function (flags) { + return A2( + stuff.init, + flags, + _elm_lang$navigation$Native_Navigation.getLocation( + {ctor: '_Tuple0'})); + }; + var subs = function (model) { + return _elm_lang$core$Platform_Sub$batch( + { + ctor: '::', + _0: _elm_lang$navigation$Navigation$subscription( + _elm_lang$navigation$Navigation$Monitor(locationToMessage)), + _1: { + ctor: '::', + _0: stuff.subscriptions(model), + _1: {ctor: '[]'} + } + }); + }; + return _elm_lang$html$Html$programWithFlags( + {init: init, view: stuff.view, update: stuff.update, subscriptions: subs}); + }); +var _elm_lang$navigation$Navigation$subMap = F2( + function (func, _p12) { + var _p13 = _p12; + return _elm_lang$navigation$Navigation$Monitor( + function (_p14) { + return func( + _p13._0(_p14)); + }); + }); +_elm_lang$core$Native_Platform.effectManagers['Navigation'] = {pkg: 'elm-lang/navigation', init: _elm_lang$navigation$Navigation$init, onEffects: _elm_lang$navigation$Navigation$onEffects, onSelfMsg: _elm_lang$navigation$Navigation$onSelfMsg, tag: 'fx', cmdMap: _elm_lang$navigation$Navigation$cmdMap, subMap: _elm_lang$navigation$Navigation$subMap}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/navigation/2.0.1/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..40e502f5fc886208fb17cd5d339608cfbbc11ca8 GIT binary patch literal 1722 zcmb`H-A;rs5QR~GBzxtHNYxiGQA~`%&BomqD5W4S&`MfA^3R-3AeO1ve&uEj2N}XJ)h=5GQ)mqPZI5B0@rYSj4wx=1F1ZBv; zC-=c^a7Sd#$bblr7geSC(ym7cb|L_WdOgCe9rjoKNPI=SQl+Y;S#Re+S3#UL%R7Ui-rV9kA_-!U4wM3DE+Wm}k#ZU7Bq4cyKQ5I#boKK&CmVwjJ1ARB1tG~VXKH9NwP)?vsu{d&VlRMF?q9;+ z={>jQdmBmTD^)mf0#rVgt&M@td?-K_!0bh{{iqt_!Jrk(lLxaMgRETvT*c zUE8J%WdxJ?#?>11Qp8#=2>`*AfF2DJJR?Q{-mhGp8uZf+@9{1JnO}77QX&98lJAdv z?4}_ka`V>ZeV5Dty&8iFLLkX*{*jR2=^}^yI?f8>U#*}BaBgnD>i@gB$oiLQ_w5h$ YKq2~d>$QKbM5h)68=7!4JnwLQ19R}s5&!@I literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/Trampoline.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/Trampoline.elmo new file mode 100644 index 0000000..501f487 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/Trampoline.elmo @@ -0,0 +1,22 @@ +var _elm_lang$trampoline$Trampoline$evaluate = function (trampoline) { + evaluate: + while (true) { + var _p0 = trampoline; + if (_p0.ctor === 'Done') { + return _p0._0; + } else { + var _v1 = _p0._0( + {ctor: '_Tuple0'}); + trampoline = _v1; + continue evaluate; + } + } +}; +var _elm_lang$trampoline$Trampoline$Jump = function (a) { + return {ctor: 'Jump', _0: a}; +}; +var _elm_lang$trampoline$Trampoline$jump = _elm_lang$trampoline$Trampoline$Jump; +var _elm_lang$trampoline$Trampoline$Done = function (a) { + return {ctor: 'Done', _0: a}; +}; +var _elm_lang$trampoline$Trampoline$done = _elm_lang$trampoline$Trampoline$Done; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/trampoline/1.0.1/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..38fefafd37bab019e71b338b5b1d095487dcfd02 GIT binary patch literal 1000 zcmb_bTMoh?5JYX8rgyQ}6PT!o6VPKLqrD&wqo$(M6i|Yh~iWQV2Tf{Hc(%;-v3C7j$G*wf==XKLmhksB^RcQ y2q7scwdCI+^wAVoW)vaJrDs8OGswAd{H1eC=$6B^+ILqtf}dfr7j0>3OM@P2fpr1^ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Debug.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Debug.elmi new file mode 100644 index 0000000000000000000000000000000000000000..9943206971c30dc2cf6d4c26433220a65ba15c0e GIT binary patch literal 117074 zcmeHQTXWkuvZifayq@*c*4ZDiPg6CClb3y)T=tBoCUGi`vyWS}&Dg9^q>7}H&A(re zzy|>!0g@6J*-_8KM6f6jXfzuA^$kIw{r7)bD+rFGWbsQ9rg!4+KYfYwaup`O+-3{$ zr$hW?@-+{aXq;A!f5+whzmo8-5P$u<`1e5kJ9`lp@eRJkU#G94>lI#z-Y0()S&E;% zif*#oNVHm?c%3RwpySD(aZwsWn7#?WU7KCa-iBrT1%K7XgT9X6C1Lp~%S|ene?NM; zxHSgac;s?*ZH#L6J}Op;Io8=_na6S|Fp|lKu=s5Je)?gxOfY^B=;R|`yH|4Q=CA*| z4Aa}p7+}kTzemY3%CS<89)D*f&hl@aJs!V_%J4QU!_Ft?7hj@03DM<0@PmK;GXMz= z!r%yF3ba*TKhgPs=y&=u$%^Rc5WgI-1DbTxSm)?X0j@qk??(&yx5=yQYr2E?o(LwW zM(1bN23uA0-od$XjAVS6d8U)SoB#Lj3zvx>~%6iXyy=3iKCLq!ZuI^5`Z?%TcCt`o8X4 zpCbmb&7_VOVn!WuPZ2+1kU27bSLhs{C zF;20z+mIT+RY;9#nH)cG>gc9>aqQG~Xlfnj)bz3pOSw=Oi`Y}6oDlNBuurFrg1VNZ zw+{WVkEy0iU*~z23+4$9AWFarbFu5t4s@06c$sI{Nwi>_1YKy_$~a^G=^cOThi^-) zYIEe1G+ab-RKtethbK%@&&99M>3p>)Beyauz&TeduNtoZ+INuzg=wwpHOB+`P9h+^oO5-ejWE8xr z#_X4Z41Nz2t19QHpBr3ckz$s$WX1#r6N4=={hp1E-2p zRK9NVBFhp#6W36sP`3G;@ivDlXH|!1f^74M8wEU3MK>|Xlb*k9e$UMXe&}Lg1EaYO zZ6KDr^k9MtK^KV#DpWXgm_*iqk=AH4Bsn&J5d0h$wR!a}$}g5ticJyJ;z>vV257i# zZrCVw1zc~DIxa1pq>k5YW~$$2d#w|LM@b#82nT93LA*)9DXHT@FvtwjpdhK^Hg8`y z`)#a_^HXS^akq~rHB@&ZX(p~|QQ5ofXWbwc(sgr}C5=xrn7qv{mSeoU%iUBR|2uf^ ziC77b?k0V0cjaz+7p{uvR?27YK>+d;)>FMX2K6=0mfE3sJ!iREGh2+p@Etrif4@r8 z%7gtN=x}(oi+wk{S|(Yj@QJXsj=>CF%W+jid9@F*9F=Wg2jiGsuga2{z0_f>_mN-v z%=JhHCVgcfiQFxU+vWI{Ipyp1@?)YfH4L*&S}&7PgAQDif~56sO+nInccAt9kuQeL z(`W)aIxIw1^Dvn}*}hUv1_uqv1j-f7nwLx$`3|Ec?5d3#U4Tu}2-93gaw`}(!fswZD! zD7DD)bGT^aBfsN1j2b-8mzNIRnhuSvf|CH6gmMyyebFAfU2`yh!m%^y(B&km$qrIO zqA8??T=;GwihNk)cU)&~P#B=J?sU5mC=8Io04WTx7NU^m8wFBQ7~on}Zw~|H2h|Vn zceJAtLJ3B&B1I=c5(p&_ zN~pIRj%-2+VX`iDVG0b2P7GWw9#&7IkD(B}*3&0p?{tvx*ZdG2zOqvhM*1>KKgD-` z5RQ@QHRFBrvu+JCzjG{=Ot+khft<2DE>{0S_$GEi`nWEGvAY3GvfYHZvMjJ-wUYo# zUV_QGbqDP-gUhRZwgV;#PL{0p&kG(PXn()zD23qCN;_$d1IVp9NY~!$FnT#63q8GJ zh~WDxXF^UnPw#gHPkMUAkSR{{ReJtO`VvGAn^nfQ@rYVHOZ^N6Ig0Y!x}DlO)JvL8 z-$pEpK?vl->@&IzL_ol=j_{GT-pzAX8}ioUY>dvnrt0AEGjniCl#KGxG2=noZ3v^x zit=0HO1d2MX4fu&>`{Eyr>i=~1hLju_8c?@ZT1w&!giR-kyr(Fd#InmvHQKdHC1(t z2rCK^q7Wfw5#FLSn-aGo4p9mbVubk7s+jS$r4S(s5o)O`e9|aeYufV2_)o@vGXB>> z6q+p=|H=4oR{Pd4V~6n{+LoEPFamldlt3tfP=eTSW>o$lqmU7jMJOTcXTXHHNH1BY zx2S*_6)>wVK5;}87&lr_DF-Ig2FWiI*HI~lttm*Q9ClF3fuH4jkVt@o)6`m2UkniG z1NIKGyOLP$dOuy^5lrVx9DO}c$)Q8Fru)l213FMP2W4|qrx;~(P&SA2#u{tP(N>B- zIdsUOLk^u9MnK;rhmOPVfb*`I!sVm_t!dC(mbPEj1mftj6{xL(Hzg1A@eVxnfI{_Ek(19aF=P{Fx zjXnB$8Q(_NVeY7`iassd_qPOhAD@J+F1d(t7b1Rt-pPZ%lrS&vRfI;=0}w1qKn^Jz!!EKF+w+1*B6rDEY-FMima1}<$UHirn*Q( zH&)Y))xRVmyS9-3H%Mt~#I(N7^9&V1njymTMN|}w+z^X_4%*4eMOH4sh0_n;$jU`l zE~%)AV~zs8`#a@K*-Tb0x0Q><147p{Bfhsf6U}vK9*fhm5_aRfodl^~pIMwQhUP); zf|@SS%P1UcjBqTvnqr+^Xhzr2)f83wWv}`$hNYU487P^d65bSSL&*%3%)qM0vFoq= z*|W$D@n=kC2r@(X+frnPaGN3Qu2(hQ7D(*@=A9GFA(+FhEL$DL1aoR4!X&Aw_gdq? zkKxduH|WQF$$XCS_VpZe#JB>&)v=t(wLS>38xRjYaqor^IDu+-Qw?vb;VlHN zDSZa+f96fd@^9$tG7Xo-eTHma9QTfJc2&M=DFOJca;Xv|iaBIeVB#6gq@p#XC{hkT z#{j8t0TnLj8OdQnRw@ifh2ba?u|69h%_m`gSFCm9ezBZk^%Ds8KEi+UD!#!Pq<(Ig zs)mh(1tYNgaf=Ec`O!*EfkD31AKaHJ^rTZAYx`j)4ea)SI0D&=A*p&;jmHm6oHmdC zyA0FY%(@eYX^uvOsL{OVdZi!A7_Km*3DKnMfPJa+$TC-lPD|0g1*5cIXLhd2worZ6;h6Fo(7l_~v!5xA-Op=+p86{rzQ`Y09Egd}QNEe^2(n_@+ zN!9nGN;J5Fe5&MA_3l%J+R$$+Naf*O5|*E`d;yhy?P^oKZuU+GDexNHXsbf4Y8*4} z)w5^hwwZ7zAHw3Zn2Y)u^F504+zLk8I-I=-i}%Me?6Y~s|V2Ub;TIpbCQU^nt)jo#rbyMe2;++1|Qf&2t zQS7b}^xB4V@ZDbG98BIs%j-QRMU}V@VPFi47O|%_r0A^ov{*vd0+DNkTqEQfVH?Fn zaTLBs;d?DyL9P*Ujf~_PIdkBgL6F2%WWf%l2E9T9A2!qjJ!n=HlsHd!8WQ%*f_t73 z?zxSUZt6Tr+|z$rLvRmzZBwi9-Cp7zOy0yj>pk{;a1X}eS|GwbgnJ105bmkef{nZr zl(xhu2YJ2`1*uAdEV6dQ?yLYUQ5Ch~%=*6{-M{n95fWx~{0u@XrcdidlHGjvgoGXn z*n-kCufW#Ds@y5sdM;Sk)C8Xs+G1#{n>vpYZS|kl5VVC}+mv~Hx0h%Oleh0NoG1#p z;qvWM6iIU|X${TGgmJhQh|m_HEkaxDP$VxCp{ z@Ezg1N{nyh3nFhCqa399MieA(+P-_!gvu}q46%1Q$Pw2WHmIl@HJoD=35!53ET5r$ zEWL16dyzxvob><*PCc~h>iyJVf>Z1iQMM4L8dzJSA;GCiSK-u>PH7y#3UUSUJUPtz zEe^pcf>Q*i*zRmNMyOt$R==bcVeEgiOLfCg@rjx)kmdxZsQ85Gan*pxw6*wzP?ttQ z8}?2|gHtD!ckF6;TiwV#0>0^cS+b^tR@x90EdE(-HDDj4omn>!KjMAcY1<1PwigS* zD{B4CNLaGSrYM}bK<%afZlN(2Wq!~tkSxSmm{ z7CoF&oTDINH2xx7&q-AC68HzQmT-Nrm6UD3F)AuqbDLf%1N+h|si~+W6_q4hU+*?Z zbHeq6>$k!6Tu}&ceHUspdMd!ITNt{_Giq9#RTJLN;*9-hLnwi9G@*ogTRRYvb#LKZ zA(TKU;iq?bcAZ3v%HM=@qTwcuj zCmiI$9-dyI0mcrfby@{l{yQ%3|CKOK_gsqv>XiI9uIimYKRpQ7*2Y~2NphKSTCfDZ zn>=2Yah4Wxp!_bfC-&7*BPpTbH!7yMGx@3;ke&$1HCxqzuYOc8jT!pJz2Yi6J|NWx z!EeBoq^X;-C4Sbutnxwdf*F0%i=yrJ3UtYb#%I89vcot0?PvD&^lnV3#&Ra>5FT7( zL%=~g>Af*VUl!8LH2@1vW?ot7y z=I|~F%THMjU01nXT>1FjE*e+V4Fh)jk0d&IWJ?YJ=Tj)5~4d?trs*I>-y8 z!HqVbtEv(T2cNyNjXEExQ+^1G&qAl9(kxKFh2!{FU-yLcTF0mMmD`+YdSg_iewzC8 zQ^Kh1y25Vi0L*oPuLt6aU+AiV5H<(R=dPGXF~5XHTg5CgY9$pUN?0fCC=$TEk*GbjM9F` zccr$Y*EYb2@AeYsVDk1oCPme#;d>Z|Yk|l$Laq^VjWAi)0L)aJQiIAk4yb+#Wh-qc zFvv9$v|mlfT_a}>oHNMw_YexGs0!lj3oBH4p6)ax?3o4kJR{u0Lc+SK^C)po|7i`u zJ?OPft;TnIiF+`46Zfq5*!RIb7>8?t2=@@~*-(uk{|@M0C}0ap&%6R#7prooXzRHJZ9ONn#n4ta zbsiOZX^XbZizDf9SlFVPkzZ=$XB9)na>$ZZp+svjNCXgN1pLrcKHI9v-vXp7Jm zp)GbOl9wsi2rI-(+r@mrT=>u-?TqA|*($BFG3?r2o9LUoif>Ax!>FGR&6oHI|!ZCD)*K)n-D5jwChlWW|7HMf~|a zzcTMagWD9U zi7nC|r>fAP(@4DobDnI8Zj`D6cRRcr2K_$THx9pzC5VMN^lzebw3rga_AV)*!)jb(+ti?K*ie O)SfAC=u**&g8u=_whDm& literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Debug.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Debug.elmo new file mode 100644 index 0000000..7cd3d0e --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Debug.elmo @@ -0,0 +1,622 @@ +var _elm_lang$virtual_dom$VirtualDom_Debug$styles = A3( + _elm_lang$virtual_dom$VirtualDom_Helpers$node, + 'style', + {ctor: '[]'}, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('\n\nhtml {\n overflow: hidden;\n height: 100%;\n}\n\nbody {\n height: 100%;\n overflow: auto;\n}\n\n#debugger {\n width: 100%\n height: 100%;\n font-family: monospace;\n}\n\n#values {\n display: block;\n float: left;\n height: 100%;\n width: calc(100% - 30ch);\n margin: 0;\n overflow: auto;\n cursor: default;\n}\n\n.debugger-sidebar {\n display: block;\n float: left;\n width: 30ch;\n height: 100%;\n color: white;\n background-color: rgb(61, 61, 61);\n}\n\n.debugger-sidebar-controls {\n width: 100%;\n text-align: center;\n background-color: rgb(50, 50, 50);\n}\n\n.debugger-sidebar-controls-import-export {\n width: 100%;\n height: 24px;\n line-height: 24px;\n font-size: 12px;\n}\n\n.debugger-sidebar-controls-resume {\n width: 100%;\n height: 30px;\n line-height: 30px;\n cursor: pointer;\n}\n\n.debugger-sidebar-controls-resume:hover {\n background-color: rgb(41, 41, 41);\n}\n\n.debugger-sidebar-messages {\n width: 100%;\n overflow-y: auto;\n height: calc(100% - 24px);\n}\n\n.debugger-sidebar-messages-paused {\n width: 100%;\n overflow-y: auto;\n height: calc(100% - 54px);\n}\n\n.messages-entry {\n cursor: pointer;\n width: 100%;\n}\n\n.messages-entry:hover {\n background-color: rgb(41, 41, 41);\n}\n\n.messages-entry-selected, .messages-entry-selected:hover {\n background-color: rgb(10, 10, 10);\n}\n\n.messages-entry-content {\n width: calc(100% - 7ch);\n padding-top: 4px;\n padding-bottom: 4px;\n padding-left: 1ch;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: inline-block;\n}\n\n.messages-entry-index {\n color: #666;\n width: 5ch;\n padding-top: 4px;\n padding-bottom: 4px;\n padding-right: 1ch;\n text-align: right;\n display: block;\n float: right;\n}\n\n'), + _1: {ctor: '[]'} + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$button = F2( + function (msg, label) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$onClick(msg), + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$style( + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'cursor', _1: 'pointer'}, + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(label), + _1: {ctor: '[]'} + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$getLatestModel = function (state) { + var _p0 = state; + if (_p0.ctor === 'Running') { + return _p0._0; + } else { + return _p0._2; + } +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$withGoodMetadata = F2( + function (model, func) { + var _p1 = model.metadata; + if (_p1.ctor === 'Ok') { + return func(_p1._0); + } else { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + { + overlay: _elm_lang$virtual_dom$VirtualDom_Overlay$badMetadata(_p1._0) + }), + {ctor: '[]'}); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$Model = F6( + function (a, b, c, d, e, f) { + return {history: a, state: b, expando: c, metadata: d, overlay: e, isDebuggerOpen: f}; + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$Paused = F3( + function (a, b, c) { + return {ctor: 'Paused', _0: a, _1: b, _2: c}; + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$Running = function (a) { + return {ctor: 'Running', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$loadNewHistory = F3( + function (rawHistory, userUpdate, model) { + var pureUserUpdate = F2( + function (msg, userModel) { + return _elm_lang$core$Tuple$first( + A2(userUpdate, msg, userModel)); + }); + var initialUserModel = _elm_lang$virtual_dom$VirtualDom_History$initialModel(model.history); + var decoder = A2(_elm_lang$virtual_dom$VirtualDom_History$decoder, initialUserModel, pureUserUpdate); + var _p2 = A2(_elm_lang$core$Json_Decode$decodeValue, decoder, rawHistory); + if (_p2.ctor === 'Err') { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + {overlay: _elm_lang$virtual_dom$VirtualDom_Overlay$corruptImport}), + {ctor: '[]'}); + } else { + var _p3 = _p2._0._0; + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + { + history: _p2._0._1, + state: _elm_lang$virtual_dom$VirtualDom_Debug$Running(_p3), + expando: _elm_lang$virtual_dom$VirtualDom_Expando$init(_p3), + overlay: _elm_lang$virtual_dom$VirtualDom_Overlay$none + }), + {ctor: '[]'}); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$OverlayMsg = function (a) { + return {ctor: 'OverlayMsg', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Upload = function (a) { + return {ctor: 'Upload', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$upload = A2(_elm_lang$core$Task$perform, _elm_lang$virtual_dom$VirtualDom_Debug$Upload, _elm_lang$virtual_dom$Native_Debug.upload); +var _elm_lang$virtual_dom$VirtualDom_Debug$Export = {ctor: 'Export'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Import = {ctor: 'Import'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Down = {ctor: 'Down'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Up = {ctor: 'Up'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Close = {ctor: 'Close'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Open = {ctor: 'Open'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Jump = function (a) { + return {ctor: 'Jump', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$Resume = {ctor: 'Resume'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$overlayConfig = {resume: _elm_lang$virtual_dom$VirtualDom_Debug$Resume, open: _elm_lang$virtual_dom$VirtualDom_Debug$Open, importHistory: _elm_lang$virtual_dom$VirtualDom_Debug$Import, exportHistory: _elm_lang$virtual_dom$VirtualDom_Debug$Export, wrap: _elm_lang$virtual_dom$VirtualDom_Debug$OverlayMsg}; +var _elm_lang$virtual_dom$VirtualDom_Debug$viewIn = function (_p4) { + var _p5 = _p4; + var isPaused = function () { + var _p6 = _p5.state; + if (_p6.ctor === 'Running') { + return false; + } else { + return true; + } + }(); + return A5( + _elm_lang$virtual_dom$VirtualDom_Overlay$view, + _elm_lang$virtual_dom$VirtualDom_Debug$overlayConfig, + isPaused, + _p5.isDebuggerOpen, + _elm_lang$virtual_dom$VirtualDom_History$size(_p5.history), + _p5.overlay); +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$resumeButton = A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$onClick(_elm_lang$virtual_dom$VirtualDom_Debug$Resume), + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class('debugger-sidebar-controls-resume'), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('Resume'), + _1: {ctor: '[]'} + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$viewResumeButton = function (maybeIndex) { + var _p7 = maybeIndex; + if (_p7.ctor === 'Nothing') { + return _elm_lang$virtual_dom$VirtualDom_Helpers$text(''); + } else { + return _elm_lang$virtual_dom$VirtualDom_Debug$resumeButton; + } +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$playButton = function (maybeIndex) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class('debugger-sidebar-controls'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Debug$viewResumeButton(maybeIndex), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class('debugger-sidebar-controls-import-export'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Debug$button, _elm_lang$virtual_dom$VirtualDom_Debug$Import, 'Import'), + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(' / '), + _1: { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Debug$button, _elm_lang$virtual_dom$VirtualDom_Debug$Export, 'Export'), + _1: {ctor: '[]'} + } + } + }), + _1: {ctor: '[]'} + } + }); +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$viewSidebar = F2( + function (state, history) { + var maybeIndex = function () { + var _p8 = state; + if (_p8.ctor === 'Running') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just(_p8._0); + } + }(); + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class('debugger-sidebar'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + _elm_lang$virtual_dom$VirtualDom_Debug$Jump, + A2(_elm_lang$virtual_dom$VirtualDom_History$view, maybeIndex, history)), + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Debug$playButton(maybeIndex), + _1: {ctor: '[]'} + } + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$ExpandoMsg = function (a) { + return {ctor: 'ExpandoMsg', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$viewOut = function (_p9) { + var _p10 = _p9; + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$id('debugger'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Debug$styles, + _1: { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Debug$viewSidebar, _p10.state, _p10.history), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + _elm_lang$virtual_dom$VirtualDom_Debug$ExpandoMsg, + A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$id('values'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Expando$view, _elm_lang$core$Maybe$Nothing, _p10.expando), + _1: {ctor: '[]'} + })), + _1: {ctor: '[]'} + } + } + }); +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$UserMsg = function (a) { + return {ctor: 'UserMsg', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Debug$wrapInit = F2( + function (metadata, _p11) { + var _p12 = _p11; + var _p13 = _p12._0; + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + { + history: _elm_lang$virtual_dom$VirtualDom_History$empty(_p13), + state: _elm_lang$virtual_dom$VirtualDom_Debug$Running(_p13), + expando: _elm_lang$virtual_dom$VirtualDom_Expando$init(_p13), + metadata: _elm_lang$virtual_dom$VirtualDom_Metadata$decode(metadata), + overlay: _elm_lang$virtual_dom$VirtualDom_Overlay$none, + isDebuggerOpen: false + }, + { + ctor: '::', + _0: A2(_elm_lang$core$Platform_Cmd$map, _elm_lang$virtual_dom$VirtualDom_Debug$UserMsg, _p12._1), + _1: {ctor: '[]'} + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$wrapSubs = F2( + function (userSubscriptions, _p14) { + var _p15 = _p14; + return A2( + _elm_lang$core$Platform_Sub$map, + _elm_lang$virtual_dom$VirtualDom_Debug$UserMsg, + userSubscriptions( + _elm_lang$virtual_dom$VirtualDom_Debug$getLatestModel(_p15.state))); + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$wrapView = F2( + function (userView, _p16) { + var _p17 = _p16; + var currentModel = function () { + var _p18 = _p17.state; + if (_p18.ctor === 'Running') { + return _p18._0; + } else { + return _p18._1; + } + }(); + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + _elm_lang$virtual_dom$VirtualDom_Debug$UserMsg, + userView(currentModel)); + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$NoOp = {ctor: 'NoOp'}; +var _elm_lang$virtual_dom$VirtualDom_Debug$download = F2( + function (metadata, history) { + var json = _elm_lang$core$Json_Encode$object( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'metadata', + _1: _elm_lang$virtual_dom$VirtualDom_Metadata$encode(metadata) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'history', + _1: _elm_lang$virtual_dom$VirtualDom_History$encode(history) + }, + _1: {ctor: '[]'} + } + }); + var historyLength = _elm_lang$virtual_dom$VirtualDom_History$size(history); + return A2( + _elm_lang$core$Task$perform, + function (_p19) { + return _elm_lang$virtual_dom$VirtualDom_Debug$NoOp; + }, + A2(_elm_lang$virtual_dom$Native_Debug.download, historyLength, json)); + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$runIf = F2( + function (bool, task) { + return bool ? A2( + _elm_lang$core$Task$perform, + _elm_lang$core$Basics$always(_elm_lang$virtual_dom$VirtualDom_Debug$NoOp), + task) : _elm_lang$core$Platform_Cmd$none; + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$updateUserMsg = F4( + function (userUpdate, scrollTask, userMsg, _p20) { + var _p21 = _p20; + var _p25 = _p21.state; + var _p24 = _p21; + var userModel = _elm_lang$virtual_dom$VirtualDom_Debug$getLatestModel(_p25); + var newHistory = A3(_elm_lang$virtual_dom$VirtualDom_History$add, userMsg, userModel, _p21.history); + var _p22 = A2(userUpdate, userMsg, userModel); + var newUserModel = _p22._0; + var userCmds = _p22._1; + var commands = A2(_elm_lang$core$Platform_Cmd$map, _elm_lang$virtual_dom$VirtualDom_Debug$UserMsg, userCmds); + var _p23 = _p25; + if (_p23.ctor === 'Running') { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + _p24, + { + history: newHistory, + state: _elm_lang$virtual_dom$VirtualDom_Debug$Running(newUserModel), + expando: A2(_elm_lang$virtual_dom$VirtualDom_Expando$merge, newUserModel, _p21.expando) + }), + { + ctor: '::', + _0: commands, + _1: { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Debug$runIf, _p24.isDebuggerOpen, scrollTask), + _1: {ctor: '[]'} + } + }); + } else { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + _p24, + { + history: newHistory, + state: A3(_elm_lang$virtual_dom$VirtualDom_Debug$Paused, _p23._0, _p23._1, newUserModel) + }), + { + ctor: '::', + _0: commands, + _1: {ctor: '[]'} + }); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$wrapUpdate = F4( + function (userUpdate, scrollTask, msg, model) { + wrapUpdate: + while (true) { + var _p26 = msg; + switch (_p26.ctor) { + case 'NoOp': + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + model, + {ctor: '[]'}); + case 'UserMsg': + return A4(_elm_lang$virtual_dom$VirtualDom_Debug$updateUserMsg, userUpdate, scrollTask, _p26._0, model); + case 'ExpandoMsg': + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + { + expando: A2(_elm_lang$virtual_dom$VirtualDom_Expando$update, _p26._0, model.expando) + }), + {ctor: '[]'}); + case 'Resume': + var _p27 = model.state; + if (_p27.ctor === 'Running') { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + model, + {ctor: '[]'}); + } else { + var _p28 = _p27._2; + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + { + state: _elm_lang$virtual_dom$VirtualDom_Debug$Running(_p28), + expando: A2(_elm_lang$virtual_dom$VirtualDom_Expando$merge, _p28, model.expando) + }), + { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Debug$runIf, model.isDebuggerOpen, scrollTask), + _1: {ctor: '[]'} + }); + } + case 'Jump': + var _p30 = _p26._0; + var _p29 = A3(_elm_lang$virtual_dom$VirtualDom_History$get, userUpdate, _p30, model.history); + var indexModel = _p29._0; + var indexMsg = _p29._1; + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + { + state: A3( + _elm_lang$virtual_dom$VirtualDom_Debug$Paused, + _p30, + indexModel, + _elm_lang$virtual_dom$VirtualDom_Debug$getLatestModel(model.state)), + expando: A2(_elm_lang$virtual_dom$VirtualDom_Expando$merge, indexModel, model.expando) + }), + {ctor: '[]'}); + case 'Open': + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + {isDebuggerOpen: true}), + {ctor: '[]'}); + case 'Close': + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + {isDebuggerOpen: false}), + {ctor: '[]'}); + case 'Up': + var index = function () { + var _p31 = model.state; + if (_p31.ctor === 'Paused') { + return _p31._0; + } else { + return _elm_lang$virtual_dom$VirtualDom_History$size(model.history); + } + }(); + if (_elm_lang$core$Native_Utils.cmp(index, 0) > 0) { + var _v17 = userUpdate, + _v18 = scrollTask, + _v19 = _elm_lang$virtual_dom$VirtualDom_Debug$Jump(index - 1), + _v20 = model; + userUpdate = _v17; + scrollTask = _v18; + msg = _v19; + model = _v20; + continue wrapUpdate; + } else { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + model, + {ctor: '[]'}); + } + case 'Down': + var _p32 = model.state; + if (_p32.ctor === 'Running') { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + model, + {ctor: '[]'}); + } else { + var _p33 = _p32._0; + if (_elm_lang$core$Native_Utils.eq( + _p33, + _elm_lang$virtual_dom$VirtualDom_History$size(model.history) - 1)) { + var _v22 = userUpdate, + _v23 = scrollTask, + _v24 = _elm_lang$virtual_dom$VirtualDom_Debug$Resume, + _v25 = model; + userUpdate = _v22; + scrollTask = _v23; + msg = _v24; + model = _v25; + continue wrapUpdate; + } else { + var _v26 = userUpdate, + _v27 = scrollTask, + _v28 = _elm_lang$virtual_dom$VirtualDom_Debug$Jump(_p33 + 1), + _v29 = model; + userUpdate = _v26; + scrollTask = _v27; + msg = _v28; + model = _v29; + continue wrapUpdate; + } + } + case 'Import': + return A2( + _elm_lang$virtual_dom$VirtualDom_Debug$withGoodMetadata, + model, + function (_p34) { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + model, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Debug$upload, + _1: {ctor: '[]'} + }); + }); + case 'Export': + return A2( + _elm_lang$virtual_dom$VirtualDom_Debug$withGoodMetadata, + model, + function (metadata) { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + model, + { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Debug$download, metadata, model.history), + _1: {ctor: '[]'} + }); + }); + case 'Upload': + return A2( + _elm_lang$virtual_dom$VirtualDom_Debug$withGoodMetadata, + model, + function (metadata) { + var _p35 = A2(_elm_lang$virtual_dom$VirtualDom_Overlay$assessImport, metadata, _p26._0); + if (_p35.ctor === 'Err') { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + {overlay: _p35._0}), + {ctor: '[]'}); + } else { + return A3(_elm_lang$virtual_dom$VirtualDom_Debug$loadNewHistory, _p35._0, userUpdate, model); + } + }); + default: + var _p36 = A2(_elm_lang$virtual_dom$VirtualDom_Overlay$close, _p26._0, model.overlay); + if (_p36.ctor === 'Nothing') { + return A2( + _elm_lang$core$Platform_Cmd_ops['!'], + _elm_lang$core$Native_Utils.update( + model, + {overlay: _elm_lang$virtual_dom$VirtualDom_Overlay$none}), + {ctor: '[]'}); + } else { + return A3(_elm_lang$virtual_dom$VirtualDom_Debug$loadNewHistory, _p36._0, userUpdate, model); + } + } + } + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$wrap = F2( + function (metadata, _p37) { + var _p38 = _p37; + return { + init: A2(_elm_lang$virtual_dom$VirtualDom_Debug$wrapInit, metadata, _p38.init), + view: _elm_lang$virtual_dom$VirtualDom_Debug$wrapView(_p38.view), + update: _elm_lang$virtual_dom$VirtualDom_Debug$wrapUpdate(_p38.update), + viewIn: _elm_lang$virtual_dom$VirtualDom_Debug$viewIn, + viewOut: _elm_lang$virtual_dom$VirtualDom_Debug$viewOut, + subscriptions: _elm_lang$virtual_dom$VirtualDom_Debug$wrapSubs(_p38.subscriptions) + }; + }); +var _elm_lang$virtual_dom$VirtualDom_Debug$wrapWithFlags = F2( + function (metadata, _p39) { + var _p40 = _p39; + return { + init: function (flags) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Debug$wrapInit, + metadata, + _p40.init(flags)); + }, + view: _elm_lang$virtual_dom$VirtualDom_Debug$wrapView(_p40.view), + update: _elm_lang$virtual_dom$VirtualDom_Debug$wrapUpdate(_p40.update), + viewIn: _elm_lang$virtual_dom$VirtualDom_Debug$viewIn, + viewOut: _elm_lang$virtual_dom$VirtualDom_Debug$viewOut, + subscriptions: _elm_lang$virtual_dom$VirtualDom_Debug$wrapSubs(_p40.subscriptions) + }; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Expando.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Expando.elmi new file mode 100644 index 0000000000000000000000000000000000000000..56316612507846da9f31ca611c511441be9f6fe4 GIT binary patch literal 15930 zcmeHOOLN;c5T>lB?Yilt{TsQox7?c8on~66o=B5xhZYeJrxdADq+|X25X63XP=qYS z0%UoliwKAUu)E(r0R(~Zd2O_UV8oKyn&v&Wkck-bC4qx(4`5FHYkEjsA?~ zcMPpTIgi3ZHhcFm`+7n@4zC{OVH#z4H^2|w>jkEjzg^H%hrS2z!bLn?G~j@9%ig?CW2L%UdiJYZ-hDi})VBt>cewlCb!a<=_kc+U)PXpGCA@>nr2( zwn5V16I+x?bFG7Mk;hUvpsGJ9=Lyz|InF){$z4jp4gX}xoaJENZ&=jZw*f}#gh3Yr z1U;Qu>WxQVpm9gP=Xtmsv;R-<-wnWp$y-)$!e&?vJXy{`_4)fOT@-maEwa2K!8T)W zn&tQl-ZA8FG&)#K0KUtP-n%SIY`n5g-=a+z@o|EQey4+z=+3z6#912VOR1f~T9Oqg zhX2-R{1xbOy57SboY>RyYSGA=0`VqRt5LPlH}BZ5$eul zR&~yjIAYgv6jj-R#4B_Wctr>z+9JurV4cth#zs7`sWVO}to$(NnLHpgmYaz;a?b!$zveY&UUX%!tsG6RM1xQ?m}%E-Gt zuYz!TIt%|}RsNoRRVqk!VLuC^@)8)<2_1QJk4g4LT`}XCc5UkHd~HLw9xCe3e#6EU za2&o=PHU+M=L58j9xsZ*n{HgjIebnD{PM(-@QVP#uwQPys>NtJopc{_5^D$ZGOsGV zc2n^b&$LMd+09wBzu8|cM9p`SQ5hUs=dcWf{7z0~hR4|GaDuoxNpUhVDj7}(C(xdY zy&x)dy0ED=pX{(~^PfgQXf!%bd2$%5G$ltBU6}W}(^=`ulRDf8@N>_NVP6ZR_{H&wi+M;N|Rm+j)90W~){?1(P*S2gBMrFcz#OpJ^lMh;VKTn|i;Upv}|B zTIu8mZq4MGBfHAB3Bf2t8V$8)4Ts=H9jb-br>do2Io3|dZ-OH&!Lk(#Kj~Ol7s$F1 zCauek!R;W=xB1ld0k1j1h%@pSOtu~Bs_hMD4HwVKhWrNZ_1VRPwIkyceOFAVhiCe; z?@$flwl%DIc6_fBZ^d^LPg`Xr8=%flPSek}IEgN0Al9u-EqO(;ZQ=HIUbewEYWiRa z?lV}}VI!|Ckkt*Z{;YWHL;p$C#@#^C*R`X(jT|EsHySJIhcHoGms4o*4sb0cAwC3M zdZ2^#=%#PFxg}b5{yYWE@;toc5_c<3u&t3#ckBdVeh{e5E@^JC8^WmK=oANn@e02e ihG+Wj*S8cJov^BnZVZiEUyYyX3P+ 0) { + return { + ctor: '_Tuple2', + _0: length + 2, + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('…}'), + _1: {ctor: '[]'} + } + }; + } else { + var _p4 = A3(_elm_lang$virtual_dom$VirtualDom_Expando$viewExtraTinyRecord, nextLength, ',', _p3._1); + var finalLength = _p4._0; + var otherNodes = _p4._1; + return { + ctor: '_Tuple2', + _0: finalLength, + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(starter), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$purple, + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(_p5), + _1: {ctor: '[]'} + }), + _1: otherNodes + } + } + }; + } + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$elideMiddle = function (str) { + return (_elm_lang$core$Native_Utils.cmp( + _elm_lang$core$String$length(str), + 18) < 1) ? str : A2( + _elm_lang$core$Basics_ops['++'], + A2(_elm_lang$core$String$left, 8, str), + A2( + _elm_lang$core$Basics_ops['++'], + '...', + A2(_elm_lang$core$String$right, 8, str))); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyHelp = function (str) { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$String$length(str), + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(str), + _1: {ctor: '[]'} + } + }; +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$updateIndex = F3( + function (n, func, list) { + var _p6 = list; + if (_p6.ctor === '[]') { + return {ctor: '[]'}; + } else { + var _p8 = _p6._1; + var _p7 = _p6._0; + return (_elm_lang$core$Native_Utils.cmp(n, 0) < 1) ? { + ctor: '::', + _0: func(_p7), + _1: _p8 + } : { + ctor: '::', + _0: _p7, + _1: A3(_elm_lang$virtual_dom$VirtualDom_Expando$updateIndex, n - 1, func, _p8) + }; + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$seqTypeToString = F2( + function (n, seqType) { + var _p9 = seqType; + switch (_p9.ctor) { + case 'ListSeq': + return A2( + _elm_lang$core$Basics_ops['++'], + 'List(', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(n), + ')')); + case 'SetSeq': + return A2( + _elm_lang$core$Basics_ops['++'], + 'Set(', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(n), + ')')); + default: + return A2( + _elm_lang$core$Basics_ops['++'], + 'Array(', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(n), + ')')); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$viewTiny = function (value) { + var _p10 = value; + switch (_p10.ctor) { + case 'S': + var str = _elm_lang$virtual_dom$VirtualDom_Expando$elideMiddle(_p10._0); + return { + ctor: '_Tuple2', + _0: _elm_lang$core$String$length(str), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$red, + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(str), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }; + case 'Primitive': + var _p11 = _p10._0; + return { + ctor: '_Tuple2', + _0: _elm_lang$core$String$length(_p11), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$blue, + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(_p11), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }; + case 'Sequence': + return _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyHelp( + A2( + _elm_lang$virtual_dom$VirtualDom_Expando$seqTypeToString, + _elm_lang$core$List$length(_p10._2), + _p10._0)); + case 'Dictionary': + return _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyHelp( + A2( + _elm_lang$core$Basics_ops['++'], + 'Dict(', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString( + _elm_lang$core$List$length(_p10._1)), + ')'))); + case 'Record': + return _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyRecord(_p10._1); + default: + if (_p10._2.ctor === '[]') { + return _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyHelp( + A2(_elm_lang$core$Maybe$withDefault, 'Unit', _p10._0)); + } else { + return _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyHelp( + function () { + var _p12 = _p10._0; + if (_p12.ctor === 'Nothing') { + return A2( + _elm_lang$core$Basics_ops['++'], + 'Tuple(', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString( + _elm_lang$core$List$length(_p10._2)), + ')')); + } else { + return A2(_elm_lang$core$Basics_ops['++'], _p12._0, ' …'); + } + }()); + } + } +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyRecord = function (record) { + return _elm_lang$core$Dict$isEmpty(record) ? { + ctor: '_Tuple2', + _0: 2, + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('{}'), + _1: {ctor: '[]'} + } + } : A3( + _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyRecordHelp, + 0, + '{ ', + _elm_lang$core$Dict$toList(record)); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyRecordHelp = F3( + function (length, starter, entries) { + var _p13 = entries; + if (_p13.ctor === '[]') { + return { + ctor: '_Tuple2', + _0: length + 2, + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(' }'), + _1: {ctor: '[]'} + } + }; + } else { + var _p16 = _p13._0._0; + var _p14 = _elm_lang$virtual_dom$VirtualDom_Expando$viewExtraTiny(_p13._0._1); + var valueLen = _p14._0; + var valueNodes = _p14._1; + var fieldLen = _elm_lang$core$String$length(_p16); + var newLength = ((length + fieldLen) + valueLen) + 5; + if (_elm_lang$core$Native_Utils.cmp(newLength, 60) > 0) { + return { + ctor: '_Tuple2', + _0: length + 4, + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(', … }'), + _1: {ctor: '[]'} + } + }; + } else { + var _p15 = A3(_elm_lang$virtual_dom$VirtualDom_Expando$viewTinyRecordHelp, newLength, ', ', _p13._1); + var finalLength = _p15._0; + var otherNodes = _p15._1; + return { + ctor: '_Tuple2', + _0: finalLength, + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(starter), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$purple, + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(_p16), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(' = '), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + {ctor: '[]'}, + valueNodes), + _1: otherNodes + } + } + } + } + }; + } + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$viewExtraTiny = function (value) { + var _p17 = value; + if (_p17.ctor === 'Record') { + return A3( + _elm_lang$virtual_dom$VirtualDom_Expando$viewExtraTinyRecord, + 0, + '{', + _elm_lang$core$Dict$keys(_p17._1)); + } else { + return _elm_lang$virtual_dom$VirtualDom_Expando$viewTiny(value); + } +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$Constructor = F3( + function (a, b, c) { + return {ctor: 'Constructor', _0: a, _1: b, _2: c}; + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$Record = F2( + function (a, b) { + return {ctor: 'Record', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$Dictionary = F2( + function (a, b) { + return {ctor: 'Dictionary', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$Sequence = F3( + function (a, b, c) { + return {ctor: 'Sequence', _0: a, _1: b, _2: c}; + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$initHelp = F2( + function (isOuter, expando) { + var _p18 = expando; + switch (_p18.ctor) { + case 'S': + return expando; + case 'Primitive': + return expando; + case 'Sequence': + var _p20 = _p18._0; + var _p19 = _p18._2; + return isOuter ? A3( + _elm_lang$virtual_dom$VirtualDom_Expando$Sequence, + _p20, + false, + A2( + _elm_lang$core$List$map, + _elm_lang$virtual_dom$VirtualDom_Expando$initHelp(false), + _p19)) : ((_elm_lang$core$Native_Utils.cmp( + _elm_lang$core$List$length(_p19), + 8) < 1) ? A3(_elm_lang$virtual_dom$VirtualDom_Expando$Sequence, _p20, false, _p19) : expando); + case 'Dictionary': + var _p23 = _p18._1; + return isOuter ? A2( + _elm_lang$virtual_dom$VirtualDom_Expando$Dictionary, + false, + A2( + _elm_lang$core$List$map, + function (_p21) { + var _p22 = _p21; + return { + ctor: '_Tuple2', + _0: _p22._0, + _1: A2(_elm_lang$virtual_dom$VirtualDom_Expando$initHelp, false, _p22._1) + }; + }, + _p23)) : ((_elm_lang$core$Native_Utils.cmp( + _elm_lang$core$List$length(_p23), + 8) < 1) ? A2(_elm_lang$virtual_dom$VirtualDom_Expando$Dictionary, false, _p23) : expando); + case 'Record': + var _p25 = _p18._1; + return isOuter ? A2( + _elm_lang$virtual_dom$VirtualDom_Expando$Record, + false, + A2( + _elm_lang$core$Dict$map, + F2( + function (_p24, v) { + return A2(_elm_lang$virtual_dom$VirtualDom_Expando$initHelp, false, v); + }), + _p25)) : ((_elm_lang$core$Native_Utils.cmp( + _elm_lang$core$Dict$size(_p25), + 4) < 1) ? A2(_elm_lang$virtual_dom$VirtualDom_Expando$Record, false, _p25) : expando); + default: + var _p27 = _p18._0; + var _p26 = _p18._2; + return isOuter ? A3( + _elm_lang$virtual_dom$VirtualDom_Expando$Constructor, + _p27, + false, + A2( + _elm_lang$core$List$map, + _elm_lang$virtual_dom$VirtualDom_Expando$initHelp(false), + _p26)) : ((_elm_lang$core$Native_Utils.cmp( + _elm_lang$core$List$length(_p26), + 4) < 1) ? A3(_elm_lang$virtual_dom$VirtualDom_Expando$Constructor, _p27, false, _p26) : expando); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$init = function (value) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Expando$initHelp, + true, + _elm_lang$virtual_dom$Native_Debug.init(value)); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$mergeHelp = F2( + function (old, $new) { + var _p28 = {ctor: '_Tuple2', _0: old, _1: $new}; + _v12_6: + do { + if (_p28.ctor === '_Tuple2') { + switch (_p28._1.ctor) { + case 'S': + return $new; + case 'Primitive': + return $new; + case 'Sequence': + if (_p28._0.ctor === 'Sequence') { + return A3( + _elm_lang$virtual_dom$VirtualDom_Expando$Sequence, + _p28._1._0, + _p28._0._1, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$mergeListHelp, _p28._0._2, _p28._1._2)); + } else { + break _v12_6; + } + case 'Dictionary': + if (_p28._0.ctor === 'Dictionary') { + return A2(_elm_lang$virtual_dom$VirtualDom_Expando$Dictionary, _p28._0._0, _p28._1._1); + } else { + break _v12_6; + } + case 'Record': + if (_p28._0.ctor === 'Record') { + return A2( + _elm_lang$virtual_dom$VirtualDom_Expando$Record, + _p28._0._0, + A2( + _elm_lang$core$Dict$map, + _elm_lang$virtual_dom$VirtualDom_Expando$mergeDictHelp(_p28._0._1), + _p28._1._1)); + } else { + break _v12_6; + } + default: + if (_p28._0.ctor === 'Constructor') { + return A3( + _elm_lang$virtual_dom$VirtualDom_Expando$Constructor, + _p28._1._0, + _p28._0._1, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$mergeListHelp, _p28._0._2, _p28._1._2)); + } else { + break _v12_6; + } + } + } else { + break _v12_6; + } + } while(false); + return $new; + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$mergeDictHelp = F3( + function (oldDict, key, value) { + var _p29 = A2(_elm_lang$core$Dict$get, key, oldDict); + if (_p29.ctor === 'Nothing') { + return value; + } else { + return A2(_elm_lang$virtual_dom$VirtualDom_Expando$mergeHelp, _p29._0, value); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$mergeListHelp = F2( + function (olds, news) { + var _p30 = {ctor: '_Tuple2', _0: olds, _1: news}; + if (_p30._0.ctor === '[]') { + return news; + } else { + if (_p30._1.ctor === '[]') { + return news; + } else { + return { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Expando$mergeHelp, _p30._0._0, _p30._1._0), + _1: A2(_elm_lang$virtual_dom$VirtualDom_Expando$mergeListHelp, _p30._0._1, _p30._1._1) + }; + } + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$merge = F2( + function (value, expando) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Expando$mergeHelp, + expando, + _elm_lang$virtual_dom$Native_Debug.init(value)); + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$update = F2( + function (msg, value) { + var _p31 = value; + switch (_p31.ctor) { + case 'S': + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 168, column: 3}, + end: {line: 235, column: 50} + }, + _p31)('No messages for primitives'); + case 'Primitive': + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 168, column: 3}, + end: {line: 235, column: 50} + }, + _p31)('No messages for primitives'); + case 'Sequence': + var _p39 = _p31._2; + var _p38 = _p31._0; + var _p37 = _p31._1; + var _p34 = msg; + switch (_p34.ctor) { + case 'Toggle': + return A3(_elm_lang$virtual_dom$VirtualDom_Expando$Sequence, _p38, !_p37, _p39); + case 'Index': + if (_p34._0.ctor === 'None') { + return A3( + _elm_lang$virtual_dom$VirtualDom_Expando$Sequence, + _p38, + _p37, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$updateIndex, + _p34._1, + _elm_lang$virtual_dom$VirtualDom_Expando$update(_p34._2), + _p39)); + } else { + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 176, column: 7}, + end: {line: 188, column: 46} + }, + _p34)('No redirected indexes on sequences'); + } + default: + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 176, column: 7}, + end: {line: 188, column: 46} + }, + _p34)('No field on sequences'); + } + case 'Dictionary': + var _p51 = _p31._1; + var _p50 = _p31._0; + var _p40 = msg; + switch (_p40.ctor) { + case 'Toggle': + return A2(_elm_lang$virtual_dom$VirtualDom_Expando$Dictionary, !_p50, _p51); + case 'Index': + var _p48 = _p40._2; + var _p47 = _p40._1; + var _p41 = _p40._0; + switch (_p41.ctor) { + case 'None': + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 196, column: 11}, + end: {line: 206, column: 81} + }, + _p41)('must have redirect for dictionaries'); + case 'Key': + return A2( + _elm_lang$virtual_dom$VirtualDom_Expando$Dictionary, + _p50, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$updateIndex, + _p47, + function (_p43) { + var _p44 = _p43; + return { + ctor: '_Tuple2', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Expando$update, _p48, _p44._0), + _1: _p44._1 + }; + }, + _p51)); + default: + return A2( + _elm_lang$virtual_dom$VirtualDom_Expando$Dictionary, + _p50, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$updateIndex, + _p47, + function (_p45) { + var _p46 = _p45; + return { + ctor: '_Tuple2', + _0: _p46._0, + _1: A2(_elm_lang$virtual_dom$VirtualDom_Expando$update, _p48, _p46._1) + }; + }, + _p51)); + } + default: + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 191, column: 7}, + end: {line: 209, column: 50} + }, + _p40)('no field for dictionaries'); + } + case 'Record': + var _p55 = _p31._1; + var _p54 = _p31._0; + var _p52 = msg; + switch (_p52.ctor) { + case 'Toggle': + return A2(_elm_lang$virtual_dom$VirtualDom_Expando$Record, !_p54, _p55); + case 'Index': + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 212, column: 7}, + end: {line: 220, column: 77} + }, + _p52)('No index for records'); + default: + return A2( + _elm_lang$virtual_dom$VirtualDom_Expando$Record, + _p54, + A3( + _elm_lang$core$Dict$update, + _p52._0, + _elm_lang$virtual_dom$VirtualDom_Expando$updateField(_p52._1), + _p55)); + } + default: + var _p61 = _p31._2; + var _p60 = _p31._0; + var _p59 = _p31._1; + var _p56 = msg; + switch (_p56.ctor) { + case 'Toggle': + return A3(_elm_lang$virtual_dom$VirtualDom_Expando$Constructor, _p60, !_p59, _p61); + case 'Index': + if (_p56._0.ctor === 'None') { + return A3( + _elm_lang$virtual_dom$VirtualDom_Expando$Constructor, + _p60, + _p59, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$updateIndex, + _p56._1, + _elm_lang$virtual_dom$VirtualDom_Expando$update(_p56._2), + _p61)); + } else { + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 223, column: 7}, + end: {line: 235, column: 50} + }, + _p56)('No redirected indexes on sequences'); + } + default: + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 223, column: 7}, + end: {line: 235, column: 50} + }, + _p56)('No field for constructors'); + } + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$updateField = F2( + function (msg, maybeExpando) { + var _p62 = maybeExpando; + if (_p62.ctor === 'Nothing') { + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Expando', + { + start: {line: 253, column: 3}, + end: {line: 258, column: 32} + }, + _p62)('key does not exist'); + } else { + return _elm_lang$core$Maybe$Just( + A2(_elm_lang$virtual_dom$VirtualDom_Expando$update, msg, _p62._0)); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$Primitive = function (a) { + return {ctor: 'Primitive', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$S = function (a) { + return {ctor: 'S', _0: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$ArraySeq = {ctor: 'ArraySeq'}; +var _elm_lang$virtual_dom$VirtualDom_Expando$SetSeq = {ctor: 'SetSeq'}; +var _elm_lang$virtual_dom$VirtualDom_Expando$ListSeq = {ctor: 'ListSeq'}; +var _elm_lang$virtual_dom$VirtualDom_Expando$Field = F2( + function (a, b) { + return {ctor: 'Field', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$Index = F3( + function (a, b, c) { + return {ctor: 'Index', _0: a, _1: b, _2: c}; + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$Toggle = {ctor: 'Toggle'}; +var _elm_lang$virtual_dom$VirtualDom_Expando$Value = {ctor: 'Value'}; +var _elm_lang$virtual_dom$VirtualDom_Expando$Key = {ctor: 'Key'}; +var _elm_lang$virtual_dom$VirtualDom_Expando$None = {ctor: 'None'}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewConstructorEntry = F2( + function (index, value) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$None, index), + A2( + _elm_lang$virtual_dom$VirtualDom_Expando$view, + _elm_lang$core$Maybe$Just( + _elm_lang$core$Basics$toString(index)), + value)); + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$view = F2( + function (maybeKey, expando) { + var _p64 = expando; + switch (_p64.ctor) { + case 'S': + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$leftPad(maybeKey), + _1: {ctor: '[]'} + }, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$lineStarter, + maybeKey, + _elm_lang$core$Maybe$Nothing, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$red, + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(_p64._0), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + })); + case 'Primitive': + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$leftPad(maybeKey), + _1: {ctor: '[]'} + }, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$lineStarter, + maybeKey, + _elm_lang$core$Maybe$Nothing, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$blue, + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(_p64._0), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + })); + case 'Sequence': + return A4(_elm_lang$virtual_dom$VirtualDom_Expando$viewSequence, maybeKey, _p64._0, _p64._1, _p64._2); + case 'Dictionary': + return A3(_elm_lang$virtual_dom$VirtualDom_Expando$viewDictionary, maybeKey, _p64._0, _p64._1); + case 'Record': + return A3(_elm_lang$virtual_dom$VirtualDom_Expando$viewRecord, maybeKey, _p64._0, _p64._1); + default: + return A4(_elm_lang$virtual_dom$VirtualDom_Expando$viewConstructor, maybeKey, _p64._0, _p64._1, _p64._2); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$viewConstructor = F4( + function (maybeKey, maybeName, isClosed, valueList) { + var _p65 = function () { + var _p66 = valueList; + if (_p66.ctor === '[]') { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Nothing, + _1: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) + }; + } else { + if (_p66._1.ctor === '[]') { + var _p67 = _p66._0; + switch (_p67.ctor) { + case 'S': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Nothing, + _1: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) + }; + case 'Primitive': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Nothing, + _1: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) + }; + case 'Sequence': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Just(isClosed), + _1: isClosed ? A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) : A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$None, 0), + _elm_lang$virtual_dom$VirtualDom_Expando$viewSequenceOpen(_p67._2)) + }; + case 'Dictionary': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Just(isClosed), + _1: isClosed ? A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) : A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$None, 0), + _elm_lang$virtual_dom$VirtualDom_Expando$viewDictionaryOpen(_p67._1)) + }; + case 'Record': + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Just(isClosed), + _1: isClosed ? A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) : A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$None, 0), + _elm_lang$virtual_dom$VirtualDom_Expando$viewRecordOpen(_p67._1)) + }; + default: + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Just(isClosed), + _1: isClosed ? A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) : A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$None, 0), + _elm_lang$virtual_dom$VirtualDom_Expando$viewConstructorOpen(_p67._2)) + }; + } + } else { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Just(isClosed), + _1: isClosed ? A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + {ctor: '[]'}) : _elm_lang$virtual_dom$VirtualDom_Expando$viewConstructorOpen(valueList) + }; + } + } + }(); + var maybeIsClosed = _p65._0; + var openHtml = _p65._1; + var tinyArgs = A2( + _elm_lang$core$List$map, + function (_p68) { + return _elm_lang$core$Tuple$second( + _elm_lang$virtual_dom$VirtualDom_Expando$viewExtraTiny(_p68)); + }, + valueList); + var description = function () { + var _p69 = {ctor: '_Tuple2', _0: maybeName, _1: tinyArgs}; + if (_p69._0.ctor === 'Nothing') { + if (_p69._1.ctor === '[]') { + return { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('()'), + _1: {ctor: '[]'} + }; + } else { + return { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('( '), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + {ctor: '[]'}, + _p69._1._0), + _1: A3( + _elm_lang$core$List$foldr, + F2( + function (args, rest) { + return { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(', '), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + {ctor: '[]'}, + args), + _1: rest + } + }; + }), + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(' )'), + _1: {ctor: '[]'} + }, + _p69._1._1) + } + }; + } + } else { + if (_p69._1.ctor === '[]') { + return { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(_p69._0._0), + _1: {ctor: '[]'} + }; + } else { + return { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text( + A2(_elm_lang$core$Basics_ops['++'], _p69._0._0, ' ')), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + {ctor: '[]'}, + _p69._1._0), + _1: A3( + _elm_lang$core$List$foldr, + F2( + function (args, rest) { + return { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(' '), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + {ctor: '[]'}, + args), + _1: rest + } + }; + }), + {ctor: '[]'}, + _p69._1._1) + } + }; + } + } + }(); + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$leftPad(maybeKey), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$onClick(_elm_lang$virtual_dom$VirtualDom_Expando$Toggle), + _1: {ctor: '[]'} + }, + A3(_elm_lang$virtual_dom$VirtualDom_Expando$lineStarter, maybeKey, maybeIsClosed, description)), + _1: { + ctor: '::', + _0: openHtml, + _1: {ctor: '[]'} + } + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$viewConstructorOpen = function (valueList) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + A2(_elm_lang$core$List$indexedMap, _elm_lang$virtual_dom$VirtualDom_Expando$viewConstructorEntry, valueList)); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewDictionaryOpen = function (keyValuePairs) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + A2(_elm_lang$core$List$indexedMap, _elm_lang$virtual_dom$VirtualDom_Expando$viewDictionaryEntry, keyValuePairs)); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewDictionaryEntry = F2( + function (index, _p70) { + var _p71 = _p70; + var _p74 = _p71._1; + var _p73 = _p71._0; + var _p72 = _p73; + switch (_p72.ctor) { + case 'S': + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$Value, index), + A2( + _elm_lang$virtual_dom$VirtualDom_Expando$view, + _elm_lang$core$Maybe$Just(_p72._0), + _p74)); + case 'Primitive': + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$Value, index), + A2( + _elm_lang$virtual_dom$VirtualDom_Expando$view, + _elm_lang$core$Maybe$Just(_p72._0), + _p74)); + default: + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$Key, index), + A2( + _elm_lang$virtual_dom$VirtualDom_Expando$view, + _elm_lang$core$Maybe$Just('key'), + _p73)), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + A2(_elm_lang$virtual_dom$VirtualDom_Expando$Index, _elm_lang$virtual_dom$VirtualDom_Expando$Value, index), + A2( + _elm_lang$virtual_dom$VirtualDom_Expando$view, + _elm_lang$core$Maybe$Just('value'), + _p74)), + _1: {ctor: '[]'} + } + }); + } + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$viewRecordOpen = function (record) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + A2( + _elm_lang$core$List$map, + _elm_lang$virtual_dom$VirtualDom_Expando$viewRecordEntry, + _elm_lang$core$Dict$toList(record))); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewRecordEntry = function (_p75) { + var _p76 = _p75; + var _p77 = _p76._0; + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$map, + _elm_lang$virtual_dom$VirtualDom_Expando$Field(_p77), + A2( + _elm_lang$virtual_dom$VirtualDom_Expando$view, + _elm_lang$core$Maybe$Just(_p77), + _p76._1)); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewSequenceOpen = function (values) { + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + A2(_elm_lang$core$List$indexedMap, _elm_lang$virtual_dom$VirtualDom_Expando$viewConstructorEntry, values)); +}; +var _elm_lang$virtual_dom$VirtualDom_Expando$viewDictionary = F3( + function (maybeKey, isClosed, keyValuePairs) { + var starter = A2( + _elm_lang$core$Basics_ops['++'], + 'Dict(', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString( + _elm_lang$core$List$length(keyValuePairs)), + ')')); + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$leftPad(maybeKey), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$onClick(_elm_lang$virtual_dom$VirtualDom_Expando$Toggle), + _1: {ctor: '[]'} + }, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$lineStarter, + maybeKey, + _elm_lang$core$Maybe$Just(isClosed), + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(starter), + _1: {ctor: '[]'} + })), + _1: { + ctor: '::', + _0: isClosed ? _elm_lang$virtual_dom$VirtualDom_Helpers$text('') : _elm_lang$virtual_dom$VirtualDom_Expando$viewDictionaryOpen(keyValuePairs), + _1: {ctor: '[]'} + } + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$viewRecord = F3( + function (maybeKey, isClosed, record) { + var _p78 = isClosed ? { + ctor: '_Tuple3', + _0: _elm_lang$core$Tuple$second( + _elm_lang$virtual_dom$VirtualDom_Expando$viewTinyRecord(record)), + _1: _elm_lang$virtual_dom$VirtualDom_Helpers$text(''), + _2: _elm_lang$virtual_dom$VirtualDom_Helpers$text('') + } : { + ctor: '_Tuple3', + _0: { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('{'), + _1: {ctor: '[]'} + }, + _1: _elm_lang$virtual_dom$VirtualDom_Expando$viewRecordOpen(record), + _2: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$leftPad( + _elm_lang$core$Maybe$Just( + {ctor: '_Tuple0'})), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text('}'), + _1: {ctor: '[]'} + }) + }; + var start = _p78._0; + var middle = _p78._1; + var end = _p78._2; + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$leftPad(maybeKey), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$onClick(_elm_lang$virtual_dom$VirtualDom_Expando$Toggle), + _1: {ctor: '[]'} + }, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$lineStarter, + maybeKey, + _elm_lang$core$Maybe$Just(isClosed), + start)), + _1: { + ctor: '::', + _0: middle, + _1: { + ctor: '::', + _0: end, + _1: {ctor: '[]'} + } + } + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Expando$viewSequence = F4( + function (maybeKey, seqType, isClosed, valueList) { + var starter = A2( + _elm_lang$virtual_dom$VirtualDom_Expando$seqTypeToString, + _elm_lang$core$List$length(valueList), + seqType); + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Expando$leftPad(maybeKey), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$onClick(_elm_lang$virtual_dom$VirtualDom_Expando$Toggle), + _1: {ctor: '[]'} + }, + A3( + _elm_lang$virtual_dom$VirtualDom_Expando$lineStarter, + maybeKey, + _elm_lang$core$Maybe$Just(isClosed), + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text(starter), + _1: {ctor: '[]'} + })), + _1: { + ctor: '::', + _0: isClosed ? _elm_lang$virtual_dom$VirtualDom_Helpers$text('') : _elm_lang$virtual_dom$VirtualDom_Expando$viewSequenceOpen(valueList), + _1: {ctor: '[]'} + } + }); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Helpers.elmi new file mode 100644 index 0000000000000000000000000000000000000000..48258be38241c95fac35106122b1de98abedc8fc GIT binary patch literal 7488 zcmeHM&u`N(6n4|3?LZq6H~xqnfZL8+kr0AyVrU$Zo4RYXG>#IdqWtwFu|GF)>orJg znxf@ozdS#`AD`{_Y(i?^+ggv15epaRA&njs{q-_PL`K8&DPJhkI}C9J`z>@Q;!}oB ze;O>&cGH+f==3OB&ip-^qd4I)OT-F<6DmX!OfsPbdVWaL6#t!Iil#eH*bE&n6{}E> zak!rLlt(`UF~5mLz#}c@Y|3Ud3xz=*^5`lI{6|RbFKCRm8`3{oO|R&Dz^}6R5xtW~ zwqn!k+$WAAxkU%R383&JIYX)QH zul3r>@hPfsK(PBYND+I`yl-?hfr$_`xTYdlg8J%S!fCA0gu$cRkct^kfHI6X>HVt( zf^TKH%O<9GzOyusv`M|oVWy!DO}rmjtWgB8I~Nx^GC7F*n48ob0TDgAlR>FcqN49$ zV1wm{nKxZI{LI399RUMX!1XXee~|(X8eot}+)K_w4NckgF!DK7(^DfLu4+J)vp8W( z7KyQ3p&%;_CG(q9@VHn$^dW~BkG3)qy}gnmP*qX4iv0m<-JnckvoaoX{4$95f6#vxZL(si_-GtISHT`48n zo>}4mr7Nt?Q&ioYw5^h!`H)If{E`>(TUA<9{Z6>(fci*p$(xb2uh1%MpB7!z{`!^n zyXBpixq}|Xaez>@vfZ@^g-Y37-2ZKfjm>h`=LxQjZe9>at7lZs!@ma{2Yx()nb`wd@3< zW)swxT8b`5=klGSBZ)EN@2OE@Y{sMbc@!kKRR8EM%!+joJzu6VRh^;Bn8&N)J4&NG z{J~K;50kJ6gXk(<@(7i~V7XM^x4gjj=q}`6QJ60IqU@BRJmE=I9#DCD8RkWrsaYH4 zC)5nh$A4#8fX1ktybSVikvE%O@S8Q3eL_Eu-sEXQ-;)bL8I@XFycV=J1|GdFNp94Q zuY&J4;1-6OybFr(4z**Q9*{nJ9|gsyG=nVAwOK!W6@%5*CiC@8gR02~p0A@Ot&@3? zg-Rhn$@qG`ia;yoIQuBIv0l1V1S;$%68FLEh|)11tEcedz+-$w>RlKHHmML;n^(;lBEj2?C*?AQtC8#M0D zd^ImX>~I8ba`ak*?y(saO~1LN|HUwsV4R4eUc&E70g9tZ0rc;X4J6nOlxMSf!B?v) zz643qCxIH-*B&XfY)~+ei?B`XVL+QOK@`Ypok-q$PoYV@A%UjNq)P0r9Hnn&r)9=YZf;c?<-vU3!3Umo{676pB+LFHpLAl6W?Dl|Jy&QX4t>gp zF`$h=jpdxs$O!=e^Qfn&MGcDE}oFq_(uKzDjj ze*3}OR35|OfN)@Er#Zh9L-M-@p&x!@Zk&)qiF*@JM~1_|it-M@b^0b(*f0pxd1zO1 z5o|MT-#Ahqe+;5E96wz@@K#Q22m5-p?pUH%pMKj*`i<0$F6OuiP`zLEe${8==tzmV z@SbP#UfpH6uXba?M;6=E+YBRPuv5`I#2kd)LvjBSu~SP@x2C1Jr$#3;-8KjsNhH7D zVm=bnZW8Oee5FGA^<00OQQGDJ-04egYu9Esvr%opX=(og`_(3GHyB{hZcq7anf(3b z%eMQcfbiD55bv?kW264c!egT_6M%=|35>$#*r>)5*Z#>0r(g2x^mP>PHloHofvGa03Be3NyutR4#O zKRnoWo24yRKAW>Iq1CC_?~<4x<$=iqlLscJz+|`FEq6y7UX39fEC=Ub=^a=jWn)5s zj<9>8^}M1LkyIzKPVnluQkZ*^;bUEfc|(YHnp(Y=PZtRz{MGgWtPuf1r(_+(w~o^Un_9m9OF&G-fldk;?TxVd{Gb&3YSba3iEc{~vfY N-Cntc&i{?BvY-F%C(Zx> literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-History.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-History.elmo new file mode 100644 index 0000000..999acfa --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-History.elmo @@ -0,0 +1,363 @@ +var _elm_lang$virtual_dom$VirtualDom_History$viewMessage = F3( + function (currentIndex, index, msg) { + var className = _elm_lang$core$Native_Utils.eq(currentIndex, index) ? 'messages-entry messages-entry-selected' : 'messages-entry'; + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class(className), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$on, + 'click', + _elm_lang$core$Json_Decode$succeed(index)), + _1: {ctor: '[]'} + } + }, + { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class('messages-entry-content'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text( + _elm_lang$virtual_dom$Native_Debug.messageToString(msg)), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$span, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class('messages-entry-index'), + _1: {ctor: '[]'} + }, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$text( + _elm_lang$core$Basics$toString(index)), + _1: {ctor: '[]'} + }), + _1: {ctor: '[]'} + } + }); + }); +var _elm_lang$virtual_dom$VirtualDom_History$consMsg = F3( + function (currentIndex, msg, _p0) { + var _p1 = _p0; + var _p2 = _p1._0; + return { + ctor: '_Tuple2', + _0: _p2 - 1, + _1: { + ctor: '::', + _0: A4(_elm_lang$virtual_dom$VirtualDom_Helpers$lazy3, _elm_lang$virtual_dom$VirtualDom_History$viewMessage, currentIndex, _p2, msg), + _1: _p1._1 + } + }; + }); +var _elm_lang$virtual_dom$VirtualDom_History$viewSnapshot = F3( + function (currentIndex, index, _p3) { + var _p4 = _p3; + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + _elm_lang$core$Tuple$second( + A3( + _elm_lang$core$Array$foldl, + _elm_lang$virtual_dom$VirtualDom_History$consMsg(currentIndex), + { + ctor: '_Tuple2', + _0: index - 1, + _1: {ctor: '[]'} + }, + _p4.messages))); + }); +var _elm_lang$virtual_dom$VirtualDom_History$undone = function (getResult) { + var _p5 = getResult; + if (_p5.ctor === 'Done') { + return {ctor: '_Tuple2', _0: _p5._1, _1: _p5._0}; + } else { + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.History', + { + start: {line: 195, column: 3}, + end: {line: 200, column: 39} + }, + _p5)('Bug in History.get'); + } +}; +var _elm_lang$virtual_dom$VirtualDom_History$elmToJs = _elm_lang$virtual_dom$Native_Debug.unsafeCoerce; +var _elm_lang$virtual_dom$VirtualDom_History$encodeHelp = F2( + function (snapshot, allMessages) { + return A3( + _elm_lang$core$Array$foldl, + F2( + function (elm, msgs) { + return { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_History$elmToJs(elm), + _1: msgs + }; + }), + allMessages, + snapshot.messages); + }); +var _elm_lang$virtual_dom$VirtualDom_History$encode = function (_p7) { + var _p8 = _p7; + var recentJson = A2( + _elm_lang$core$List$map, + _elm_lang$virtual_dom$VirtualDom_History$elmToJs, + _elm_lang$core$List$reverse(_p8.recent.messages)); + return _elm_lang$core$Json_Encode$list( + A3(_elm_lang$core$Array$foldr, _elm_lang$virtual_dom$VirtualDom_History$encodeHelp, recentJson, _p8.snapshots)); +}; +var _elm_lang$virtual_dom$VirtualDom_History$jsToElm = _elm_lang$virtual_dom$Native_Debug.unsafeCoerce; +var _elm_lang$virtual_dom$VirtualDom_History$initialModel = function (_p9) { + var _p10 = _p9; + var _p11 = A2(_elm_lang$core$Array$get, 0, _p10.snapshots); + if (_p11.ctor === 'Just') { + return _p11._0.model; + } else { + return _p10.recent.model; + } +}; +var _elm_lang$virtual_dom$VirtualDom_History$size = function (history) { + return history.numMessages; +}; +var _elm_lang$virtual_dom$VirtualDom_History$maxSnapshotSize = 64; +var _elm_lang$virtual_dom$VirtualDom_History$consSnapshot = F3( + function (currentIndex, snapshot, _p12) { + var _p13 = _p12; + var _p14 = _p13._0; + var nextIndex = _p14 - _elm_lang$virtual_dom$VirtualDom_History$maxSnapshotSize; + var currentIndexHelp = ((_elm_lang$core$Native_Utils.cmp(nextIndex, currentIndex) < 1) && (_elm_lang$core$Native_Utils.cmp(currentIndex, _p14) < 0)) ? currentIndex : -1; + return { + ctor: '_Tuple2', + _0: _p14 - _elm_lang$virtual_dom$VirtualDom_History$maxSnapshotSize, + _1: { + ctor: '::', + _0: A4(_elm_lang$virtual_dom$VirtualDom_Helpers$lazy3, _elm_lang$virtual_dom$VirtualDom_History$viewSnapshot, currentIndexHelp, _p14, snapshot), + _1: _p13._1 + } + }; + }); +var _elm_lang$virtual_dom$VirtualDom_History$viewSnapshots = F2( + function (currentIndex, snapshots) { + var highIndex = _elm_lang$virtual_dom$VirtualDom_History$maxSnapshotSize * _elm_lang$core$Array$length(snapshots); + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + {ctor: '[]'}, + _elm_lang$core$Tuple$second( + A3( + _elm_lang$core$Array$foldr, + _elm_lang$virtual_dom$VirtualDom_History$consSnapshot(currentIndex), + { + ctor: '_Tuple2', + _0: highIndex, + _1: {ctor: '[]'} + }, + snapshots))); + }); +var _elm_lang$virtual_dom$VirtualDom_History$view = F2( + function (maybeIndex, _p15) { + var _p16 = _p15; + var _p17 = function () { + var _p18 = maybeIndex; + if (_p18.ctor === 'Nothing') { + return {ctor: '_Tuple2', _0: -1, _1: 'debugger-sidebar-messages'}; + } else { + return {ctor: '_Tuple2', _0: _p18._0, _1: 'debugger-sidebar-messages-paused'}; + } + }(); + var index = _p17._0; + var className = _p17._1; + var oldStuff = A3(_elm_lang$virtual_dom$VirtualDom_Helpers$lazy2, _elm_lang$virtual_dom$VirtualDom_History$viewSnapshots, index, _p16.snapshots); + var newStuff = _elm_lang$core$Tuple$second( + A3( + _elm_lang$core$List$foldl, + _elm_lang$virtual_dom$VirtualDom_History$consMsg(index), + { + ctor: '_Tuple2', + _0: _p16.numMessages - 1, + _1: {ctor: '[]'} + }, + _p16.recent.messages)); + return A2( + _elm_lang$virtual_dom$VirtualDom_Helpers$div, + { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Helpers$class(className), + _1: {ctor: '[]'} + }, + {ctor: '::', _0: oldStuff, _1: newStuff}); + }); +var _elm_lang$virtual_dom$VirtualDom_History$History = F3( + function (a, b, c) { + return {snapshots: a, recent: b, numMessages: c}; + }); +var _elm_lang$virtual_dom$VirtualDom_History$RecentHistory = F3( + function (a, b, c) { + return {model: a, messages: b, numMessages: c}; + }); +var _elm_lang$virtual_dom$VirtualDom_History$empty = function (model) { + return A3( + _elm_lang$virtual_dom$VirtualDom_History$History, + _elm_lang$core$Array$empty, + A3( + _elm_lang$virtual_dom$VirtualDom_History$RecentHistory, + model, + {ctor: '[]'}, + 0), + 0); +}; +var _elm_lang$virtual_dom$VirtualDom_History$Snapshot = F2( + function (a, b) { + return {model: a, messages: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_History$addRecent = F3( + function (msg, newModel, _p19) { + var _p20 = _p19; + var _p23 = _p20.numMessages; + var _p22 = _p20.model; + var _p21 = _p20.messages; + return _elm_lang$core$Native_Utils.eq(_p23, _elm_lang$virtual_dom$VirtualDom_History$maxSnapshotSize) ? { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Just( + A2( + _elm_lang$virtual_dom$VirtualDom_History$Snapshot, + _p22, + _elm_lang$core$Array$fromList(_p21))), + _1: A3( + _elm_lang$virtual_dom$VirtualDom_History$RecentHistory, + newModel, + { + ctor: '::', + _0: msg, + _1: {ctor: '[]'} + }, + 1) + } : { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Nothing, + _1: A3( + _elm_lang$virtual_dom$VirtualDom_History$RecentHistory, + _p22, + {ctor: '::', _0: msg, _1: _p21}, + _p23 + 1) + }; + }); +var _elm_lang$virtual_dom$VirtualDom_History$add = F3( + function (msg, model, _p24) { + var _p25 = _p24; + var _p28 = _p25.snapshots; + var _p27 = _p25.numMessages; + var _p26 = A3(_elm_lang$virtual_dom$VirtualDom_History$addRecent, msg, model, _p25.recent); + if (_p26._0.ctor === 'Just') { + return A3( + _elm_lang$virtual_dom$VirtualDom_History$History, + A2(_elm_lang$core$Array$push, _p26._0._0, _p28), + _p26._1, + _p27 + 1); + } else { + return A3(_elm_lang$virtual_dom$VirtualDom_History$History, _p28, _p26._1, _p27 + 1); + } + }); +var _elm_lang$virtual_dom$VirtualDom_History$decoder = F2( + function (initialModel, update) { + var addMessage = F2( + function (rawMsg, _p29) { + var _p30 = _p29; + var _p31 = _p30._0; + var msg = _elm_lang$virtual_dom$VirtualDom_History$jsToElm(rawMsg); + return { + ctor: '_Tuple2', + _0: A2(update, msg, _p31), + _1: A3(_elm_lang$virtual_dom$VirtualDom_History$add, msg, _p31, _p30._1) + }; + }); + var updateModel = function (rawMsgs) { + return A3( + _elm_lang$core$List$foldl, + addMessage, + { + ctor: '_Tuple2', + _0: initialModel, + _1: _elm_lang$virtual_dom$VirtualDom_History$empty(initialModel) + }, + rawMsgs); + }; + return A2( + _elm_lang$core$Json_Decode$map, + updateModel, + _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$value)); + }); +var _elm_lang$virtual_dom$VirtualDom_History$Done = F2( + function (a, b) { + return {ctor: 'Done', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_History$Stepping = F2( + function (a, b) { + return {ctor: 'Stepping', _0: a, _1: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_History$getHelp = F3( + function (update, msg, getResult) { + var _p32 = getResult; + if (_p32.ctor === 'Done') { + return getResult; + } else { + var _p34 = _p32._0; + var _p33 = _p32._1; + return _elm_lang$core$Native_Utils.eq(_p34, 0) ? A2( + _elm_lang$virtual_dom$VirtualDom_History$Done, + msg, + _elm_lang$core$Tuple$first( + A2(update, msg, _p33))) : A2( + _elm_lang$virtual_dom$VirtualDom_History$Stepping, + _p34 - 1, + _elm_lang$core$Tuple$first( + A2(update, msg, _p33))); + } + }); +var _elm_lang$virtual_dom$VirtualDom_History$get = F3( + function (update, index, _p35) { + var _p36 = _p35; + var _p39 = _p36.recent; + var snapshotMax = _p36.numMessages - _p39.numMessages; + if (_elm_lang$core$Native_Utils.cmp(index, snapshotMax) > -1) { + return _elm_lang$virtual_dom$VirtualDom_History$undone( + A3( + _elm_lang$core$List$foldr, + _elm_lang$virtual_dom$VirtualDom_History$getHelp(update), + A2(_elm_lang$virtual_dom$VirtualDom_History$Stepping, index - snapshotMax, _p39.model), + _p39.messages)); + } else { + var _p37 = A2(_elm_lang$core$Array$get, (index / _elm_lang$virtual_dom$VirtualDom_History$maxSnapshotSize) | 0, _p36.snapshots); + if (_p37.ctor === 'Nothing') { + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.History', + { + start: {line: 165, column: 7}, + end: {line: 171, column: 95} + }, + _p37)('UI should only let you ask for real indexes!'); + } else { + return _elm_lang$virtual_dom$VirtualDom_History$undone( + A3( + _elm_lang$core$Array$foldr, + _elm_lang$virtual_dom$VirtualDom_History$getHelp(update), + A2( + _elm_lang$virtual_dom$VirtualDom_History$Stepping, + A2(_elm_lang$core$Basics$rem, index, _elm_lang$virtual_dom$VirtualDom_History$maxSnapshotSize), + _p37._0.model), + _p37._0.messages)); + } + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Metadata.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Metadata.elmi new file mode 100644 index 0000000000000000000000000000000000000000..8c1b67530780dc5d625c61a0dc065f4873a1d067 GIT binary patch literal 30519 zcmeHQOLN;c5TCfm)E2L5-H z#*4s@7XgYBUQAFP2kYYUh|1HOAY%)bF#}5-YC4EU98k=kakKC#&|GsS#7AdFI-@W%$%h6l zn*NvpxGr=ERA&FQc z7w)Mm_WJ*4YOf6SiR&%uLW5UZR}nAs{&=%4M!R1K{!`El{%Z$8R_JBSkXC1rMm?&N z%`wD6mB7%=I4>)h%+O@F3|u$&n}c2s%F8yMW#HO^NsHhKFfcLL^qEws8J2pjh9>GH zv#WuoPFU$A;}&lP-no0Rg!P3PoTQHGWS@JwD+MAM{t&HlYGnv&jTH`+ZW<$JPA83# zAE}eJN_SQ#Es=c;mJ_Z6L#B)wMkPm%mPK3hne+>lK^nP+W{|Zqt(EDhD;;l;97JN$ zq2B2XHrxhhvLV^GXY+>Ge#iq{nfa=AHv?wXo~npp`)_yr@w;orekX>{m@O7_wscf% z>N`#C;3RKq&GJS+Kjyo&TfCCkh46CPg2kSkL14ctjGP;m`H!MU?o}K|ba~>JZ65g2 zNfNB$=lw~sfE@@JjSg+gw*#N5#nf`;kjG51{<~rvfJRLc(eS7UcDCN&?eExpvkv$I zCO5PGJE6NYiq^`Pe4@0vHDd-*D_`<)I?5|K?3LSz?hmwMx69_TT$+{Pi+uYV>RPxg zd(MkJCttT(!P-w1y9cqiJPXEr{nUMng`JWAP0LxhYw?JVk626l@-hf^9mxmd1+)DP z0Y+GG`N)0QhUAHLlv_vnn{kv|9^!(ID1snH~5A9JSX7^=}MsS$M2&s${ z-IpcmE_iyEaz(YD9)c{Bw3?K(1nDEFiIEve)-m4^P~}cX&w#SKGj@08&Fs!_p+nqS zDwdvc>yVY?x;n`^st}tTlHnpGei`MJhUjM(5Q4bHaO)j4~G;wSIZ2^ZhbPEuG0s?;w ziIZWfo_0lw#G@QAI~w~(teF^$ORh@bSeo z;nBodXbCyW;8!AyW{)f-!i4CC(5eM1PW~-ZvHwm;o|&ahm7a%L1yWLbsW382Hi0t^ zm+K7L_j=c%3ub8Ud!RN=Sm!+*Surp4kj6-YW!=uWzo9RMEnu%p(FMy+vAV%wQ|Jbq<$(+Is{~5nYW>_Q)FEFp%JeIrV}*+o z`8+F8ov#FH=USn9);!;eE=}lHwtbM04hC@BM@z`j#%gQ5Q3;Mp`ROMGZv+W7`p~tN zBM1PeZC%r2nr2;{I3dUqN5;H-n!*51lo4Gv#rFNrSl13jrxS|cY_oLxC)MQBo(82+sd2IyOxJ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Metadata.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Metadata.elmo new file mode 100644 index 0000000..2871a37 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Metadata.elmo @@ -0,0 +1,393 @@ +var _elm_lang$virtual_dom$VirtualDom_Metadata$encodeDict = F2( + function (f, dict) { + return _elm_lang$core$Json_Encode$object( + _elm_lang$core$Dict$toList( + A2( + _elm_lang$core$Dict$map, + F2( + function (key, value) { + return f(value); + }), + dict))); + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$encodeUnion = function (_p0) { + var _p1 = _p0; + return _elm_lang$core$Json_Encode$object( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'args', + _1: _elm_lang$core$Json_Encode$list( + A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p1.args)) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'tags', + _1: A2( + _elm_lang$virtual_dom$VirtualDom_Metadata$encodeDict, + function (_p2) { + return _elm_lang$core$Json_Encode$list( + A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p2)); + }, + _p1.tags) + }, + _1: {ctor: '[]'} + } + }); +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$encodeAlias = function (_p3) { + var _p4 = _p3; + return _elm_lang$core$Json_Encode$object( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'args', + _1: _elm_lang$core$Json_Encode$list( + A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p4.args)) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'type', + _1: _elm_lang$core$Json_Encode$string(_p4.tipe) + }, + _1: {ctor: '[]'} + } + }); +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$encodeTypes = function (_p5) { + var _p6 = _p5; + return _elm_lang$core$Json_Encode$object( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'message', + _1: _elm_lang$core$Json_Encode$string(_p6.message) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'aliases', + _1: A2(_elm_lang$virtual_dom$VirtualDom_Metadata$encodeDict, _elm_lang$virtual_dom$VirtualDom_Metadata$encodeAlias, _p6.aliases) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'unions', + _1: A2(_elm_lang$virtual_dom$VirtualDom_Metadata$encodeDict, _elm_lang$virtual_dom$VirtualDom_Metadata$encodeUnion, _p6.unions) + }, + _1: {ctor: '[]'} + } + } + }); +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$encodeVersions = function (_p7) { + var _p8 = _p7; + return _elm_lang$core$Json_Encode$object( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'elm', + _1: _elm_lang$core$Json_Encode$string(_p8.elm) + }, + _1: {ctor: '[]'} + }); +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$encode = function (_p9) { + var _p10 = _p9; + return _elm_lang$core$Json_Encode$object( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'versions', + _1: _elm_lang$virtual_dom$VirtualDom_Metadata$encodeVersions(_p10.versions) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'types', + _1: _elm_lang$virtual_dom$VirtualDom_Metadata$encodeTypes(_p10.types) + }, + _1: {ctor: '[]'} + } + }); +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$checkTag = F4( + function (tag, old, $new, changes) { + return _elm_lang$core$Native_Utils.eq(old, $new) ? changes : _elm_lang$core$Native_Utils.update( + changes, + { + changed: {ctor: '::', _0: tag, _1: changes.changed} + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$addTag = F3( + function (tag, _p11, changes) { + return _elm_lang$core$Native_Utils.update( + changes, + { + added: {ctor: '::', _0: tag, _1: changes.added} + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$removeTag = F3( + function (tag, _p12, changes) { + return _elm_lang$core$Native_Utils.update( + changes, + { + removed: {ctor: '::', _0: tag, _1: changes.removed} + }); + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$checkUnion = F4( + function (name, old, $new, changes) { + var tagChanges = A6( + _elm_lang$core$Dict$merge, + _elm_lang$virtual_dom$VirtualDom_Metadata$removeTag, + _elm_lang$virtual_dom$VirtualDom_Metadata$checkTag, + _elm_lang$virtual_dom$VirtualDom_Metadata$addTag, + old.tags, + $new.tags, + _elm_lang$virtual_dom$VirtualDom_Report$emptyTagChanges( + _elm_lang$core$Native_Utils.eq(old.args, $new.args))); + return _elm_lang$virtual_dom$VirtualDom_Report$hasTagChanges(tagChanges) ? changes : { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Report$UnionChange, name, tagChanges), + _1: changes + }; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$checkAlias = F4( + function (name, old, $new, changes) { + return (_elm_lang$core$Native_Utils.eq(old.tipe, $new.tipe) && _elm_lang$core$Native_Utils.eq(old.args, $new.args)) ? changes : { + ctor: '::', + _0: _elm_lang$virtual_dom$VirtualDom_Report$AliasChange(name), + _1: changes + }; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$ignore = F3( + function (key, value, report) { + return report; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$checkTypes = F2( + function (old, $new) { + return (!_elm_lang$core$Native_Utils.eq(old.message, $new.message)) ? A2(_elm_lang$virtual_dom$VirtualDom_Report$MessageChanged, old.message, $new.message) : _elm_lang$virtual_dom$VirtualDom_Report$SomethingChanged( + A6( + _elm_lang$core$Dict$merge, + _elm_lang$virtual_dom$VirtualDom_Metadata$ignore, + _elm_lang$virtual_dom$VirtualDom_Metadata$checkUnion, + _elm_lang$virtual_dom$VirtualDom_Metadata$ignore, + old.unions, + $new.unions, + A6( + _elm_lang$core$Dict$merge, + _elm_lang$virtual_dom$VirtualDom_Metadata$ignore, + _elm_lang$virtual_dom$VirtualDom_Metadata$checkAlias, + _elm_lang$virtual_dom$VirtualDom_Metadata$ignore, + old.aliases, + $new.aliases, + {ctor: '[]'}))); + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$check = F2( + function (old, $new) { + return (!_elm_lang$core$Native_Utils.eq(old.versions.elm, $new.versions.elm)) ? A2(_elm_lang$virtual_dom$VirtualDom_Report$VersionChanged, old.versions.elm, $new.versions.elm) : A2(_elm_lang$virtual_dom$VirtualDom_Metadata$checkTypes, old.types, $new.types); + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$hasProblem = F2( + function (tipe, _p13) { + var _p14 = _p13; + return A2(_elm_lang$core$String$contains, _p14._1, tipe) ? _elm_lang$core$Maybe$Just(_p14._0) : _elm_lang$core$Maybe$Nothing; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$Metadata = F2( + function (a, b) { + return {versions: a, types: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$Versions = function (a) { + return {elm: a}; +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$decodeVersions = A2( + _elm_lang$core$Json_Decode$map, + _elm_lang$virtual_dom$VirtualDom_Metadata$Versions, + A2(_elm_lang$core$Json_Decode$field, 'elm', _elm_lang$core$Json_Decode$string)); +var _elm_lang$virtual_dom$VirtualDom_Metadata$Types = F3( + function (a, b, c) { + return {message: a, aliases: b, unions: c}; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$Alias = F2( + function (a, b) { + return {args: a, tipe: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$decodeAlias = A3( + _elm_lang$core$Json_Decode$map2, + _elm_lang$virtual_dom$VirtualDom_Metadata$Alias, + A2( + _elm_lang$core$Json_Decode$field, + 'args', + _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string)), + A2(_elm_lang$core$Json_Decode$field, 'type', _elm_lang$core$Json_Decode$string)); +var _elm_lang$virtual_dom$VirtualDom_Metadata$Union = F2( + function (a, b) { + return {args: a, tags: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$decodeUnion = A3( + _elm_lang$core$Json_Decode$map2, + _elm_lang$virtual_dom$VirtualDom_Metadata$Union, + A2( + _elm_lang$core$Json_Decode$field, + 'args', + _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string)), + A2( + _elm_lang$core$Json_Decode$field, + 'tags', + _elm_lang$core$Json_Decode$dict( + _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string)))); +var _elm_lang$virtual_dom$VirtualDom_Metadata$decodeTypes = A4( + _elm_lang$core$Json_Decode$map3, + _elm_lang$virtual_dom$VirtualDom_Metadata$Types, + A2(_elm_lang$core$Json_Decode$field, 'message', _elm_lang$core$Json_Decode$string), + A2( + _elm_lang$core$Json_Decode$field, + 'aliases', + _elm_lang$core$Json_Decode$dict(_elm_lang$virtual_dom$VirtualDom_Metadata$decodeAlias)), + A2( + _elm_lang$core$Json_Decode$field, + 'unions', + _elm_lang$core$Json_Decode$dict(_elm_lang$virtual_dom$VirtualDom_Metadata$decodeUnion))); +var _elm_lang$virtual_dom$VirtualDom_Metadata$decoder = A3( + _elm_lang$core$Json_Decode$map2, + _elm_lang$virtual_dom$VirtualDom_Metadata$Metadata, + A2(_elm_lang$core$Json_Decode$field, 'versions', _elm_lang$virtual_dom$VirtualDom_Metadata$decodeVersions), + A2(_elm_lang$core$Json_Decode$field, 'types', _elm_lang$virtual_dom$VirtualDom_Metadata$decodeTypes)); +var _elm_lang$virtual_dom$VirtualDom_Metadata$Error = F2( + function (a, b) { + return {message: a, problems: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$ProblemType = F2( + function (a, b) { + return {name: a, problems: b}; + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$VirtualDom = {ctor: 'VirtualDom'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$Program = {ctor: 'Program'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$Request = {ctor: 'Request'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$Socket = {ctor: 'Socket'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$Process = {ctor: 'Process'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$Task = {ctor: 'Task'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$Decoder = {ctor: 'Decoder'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$Function = {ctor: 'Function'}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$problemTable = { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$Function, _1: '->'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$Decoder, _1: 'Json.Decode.Decoder'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$Task, _1: 'Task.Task'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$Process, _1: 'Process.Id'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$Socket, _1: 'WebSocket.LowLevel.WebSocket'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$Request, _1: 'Http.Request'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$Program, _1: 'Platform.Program'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$VirtualDom, _1: 'VirtualDom.Node'}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _elm_lang$virtual_dom$VirtualDom_Metadata$VirtualDom, _1: 'VirtualDom.Attribute'}, + _1: {ctor: '[]'} + } + } + } + } + } + } + } + } +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$findProblems = function (tipe) { + return A2( + _elm_lang$core$List$filterMap, + _elm_lang$virtual_dom$VirtualDom_Metadata$hasProblem(tipe), + _elm_lang$virtual_dom$VirtualDom_Metadata$problemTable); +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$collectBadAliases = F3( + function (name, _p15, list) { + var _p16 = _p15; + var _p17 = _elm_lang$virtual_dom$VirtualDom_Metadata$findProblems(_p16.tipe); + if (_p17.ctor === '[]') { + return list; + } else { + return { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Metadata$ProblemType, name, _p17), + _1: list + }; + } + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$collectBadUnions = F3( + function (name, _p18, list) { + var _p19 = _p18; + var _p20 = A2( + _elm_lang$core$List$concatMap, + _elm_lang$virtual_dom$VirtualDom_Metadata$findProblems, + _elm_lang$core$List$concat( + _elm_lang$core$Dict$values(_p19.tags))); + if (_p20.ctor === '[]') { + return list; + } else { + return { + ctor: '::', + _0: A2(_elm_lang$virtual_dom$VirtualDom_Metadata$ProblemType, name, _p20), + _1: list + }; + } + }); +var _elm_lang$virtual_dom$VirtualDom_Metadata$isPortable = function (_p21) { + var _p22 = _p21; + var _p24 = _p22.types; + var badAliases = A3( + _elm_lang$core$Dict$foldl, + _elm_lang$virtual_dom$VirtualDom_Metadata$collectBadAliases, + {ctor: '[]'}, + _p24.aliases); + var _p23 = A3(_elm_lang$core$Dict$foldl, _elm_lang$virtual_dom$VirtualDom_Metadata$collectBadUnions, badAliases, _p24.unions); + if (_p23.ctor === '[]') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just( + A2(_elm_lang$virtual_dom$VirtualDom_Metadata$Error, _p24.message, _p23)); + } +}; +var _elm_lang$virtual_dom$VirtualDom_Metadata$decode = function (value) { + var _p25 = A2(_elm_lang$core$Json_Decode$decodeValue, _elm_lang$virtual_dom$VirtualDom_Metadata$decoder, value); + if (_p25.ctor === 'Err') { + return _elm_lang$core$Native_Utils.crashCase( + 'VirtualDom.Metadata', + { + start: {line: 229, column: 3}, + end: {line: 239, column: 20} + }, + _p25)('Compiler is generating bad metadata. Report this at .'); + } else { + var _p28 = _p25._0; + var _p27 = _elm_lang$virtual_dom$VirtualDom_Metadata$isPortable(_p28); + if (_p27.ctor === 'Nothing') { + return _elm_lang$core$Result$Ok(_p28); + } else { + return _elm_lang$core$Result$Err(_p27._0); + } + } +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Overlay.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.2/VirtualDom-Overlay.elmi new file mode 100644 index 0000000000000000000000000000000000000000..d8cfd38b0418169cfb2b12f84d7e473a827105f7 GIT binary patch literal 14893 zcmeHOUvuI%5EsD)k~GatzeOMJq4#)i7m}H~PDwMDG_M_jeL2tB7Gs;FeEUlF{){D1 zfQtpW7G6M$EUotcuGWlcpI@{QV}meG-o`wAAo%HHloc}`zYRn}pffz;r6LV6IGczp zn@x*P$y8(opr>OVjKYEkyx@TOlUU^Sb3gGs5A$4q>?F!BVlnv^)p#)PF$$ls#2YoJ z9=ZBQ?RP}~__qZw>a`ib-BFGMG1j5Ey`f0IL^Yg-c*HLez=rrfryuni7d($9xdHVr z!|@CYV?potT%arH9{>Lz$h8ZYnpExkY z$v#tJ*$~BFam@GcYYFIZ*2VKoqb;!S@U;`b(hrkKI4x?CV?>T4EVY4V0hblz`SUT% zVm_zM`WLgJ5Gkm2e8B@!pmw&?Nk^l0mhS5((G>Pno}*^3-wNSOaq+LROk_kx*6|<} zAZ#LS5q}8532>4A9!xVaj>9CkNQE1mPj9MS@8(k|(lX{=%9HO!yB*G&r0x^ijJ31= zbCS~=@^li$PBv;dkKXXBP`+zPJWPNSL=3Hm|AL-$6Y1nO9JpbLqEr)scGSV(JC0qc zWOF<1H#FNP)jbQ#K;ffwpdy<$r(!}>MlSXVo|uN|iU)g{^oB{e;verRr%kt`#YEn5;rz`p>6)Iov}5Z` zA8L-5{k~tws33Q5-0Q7kFV2kcd1Zfekh^Ds4i}jxmD0{Osl5zZxMZv!m&h1i=E22X}OqcZ{DY8WB z7GBB%h)lF{#S=H;H@K(em*|JncVz`;1$HKAJ96n6yFNOy5`IPT2WYHKQ7b2IUAoCr zthvrN5XrQfk{d1^vc!tkT1~{t%dN!3^k_TH631oPL{E|+eem{n#oFqeMnOwP%XPi4 zQ>(hl*s2c|McbjVkujA)p_7#>CAU+ospUAdRfkYpbB(5TiPsDeN?^R-OG!4{9G`+orvl6@O9?nOcvP%52|a0Y%_(# zIW$GmE++c49?`k8h^6{}mu3BT^v{tSH*9iXk%9pCL-wOM0BW2pU8|TB^bgq&V_PZW z5(N+0k9i@yx%ho=_G2~ZF9-~(3*~kUml1FsO4Q0KnYRH8JH@IX0divwyPr~dkBWHF ztOjhQy#`|tuPXG^$8=+EHZ7~acAvc6fwqea&Q+tt;Z{}g+BD=p{H^LD8q?DB{Ro;A zVkv0UmEc5;aQnG~^Etu4aW!+Ih&B8wyR76@aw~SuXxOOM-T|e6e0le*v`iIH)!|gN zqqgsqDD4p+Wi{Es*YEH;x@P|W($`n2!1SiF{mB1PucYnT(+zq9dEG4=`wFzK>BUdY zel!PekXctoDZSVzOjYsDMy6V@QT{OjdqutMUOQO2T{hmB{I?0tuH~Yg$im2=7Eu^X z+)i^SZ2Af!-qNm)qBN3iGnpW$`Ouh7gc`qW-mUrO5QESVD z#YfW_^@9RT-&OOb0YopX2}YShheJqu^dd*~ZwFxG0vDa&)vTr7HOo_t8UQxOOzL0< zn7+|0YJjy4S^Nj`m5sRo(zo_zMFs1)u~vHPOf7df=9+%E*YkqK66UY@1qN+%d*um}k7xqLwv(i?uMUS|Qz7!j6Og7IIL6Y0d z{Dk8DPuUt5Vni6Q)8I;)YypmdCf90S!Ak)4zt;8$$dennn}azJhu?B(f9MiE#VbR2 zZ(6{Ntthi<9*C@cW~w|?WH7U3ZSDX!xvMtbDDUaAdwD6KYDbD5WDEAdCyYNL5MSm* z&y*DFg5O`{0BA?|ElJe3*{)RnKc_tpe^%57r!{37tp`bI!_{0hUP0#64BjoCNfP` z+U8@T@^SCJ&trX-x;JEcoldFwkkdz|rk}<|l&EqAJql~q5hqwGD2$^>jM(_tV}iZuR38tmkJRJD zV`ZR^zNz=Tw)p^ky(4*5A=>j_x-@nwjf#^cafWB)l%zT5(P1Bp4Z5Tobwq z)WI@$81?=>yTCYT;Nt8H+^6N=rf41Y+TTz>^ zN!!bEw>$g0^WFJ;Bc$>3vOy6tX3^>*qVZDlPuF3_3mRQ4l9gn=f{Mr4Z?1?qSuhae zG)q#J@eLR!l=CbM3a&&>6=ynw)ai<**OsQA^G&3*`biAovn2i&@*kg59wu=P?)ie< z(jwv(dr+D6fnOcUgJ+S^#;_*Pqtx;sbSZsv}>7Bc!Io;bOq#nM3;GA>UyRY z0e5U0M|x6zWZ|{wGbsk~;T6rpIgAF^pRl07!C_DDL#})_oUpmJ25R2NFvl^1=YOJ` z0A9yZ!ztzA8r)|$A~Gf_FrYlXjwruPGPnu)Hh=JTwUCB6MP@}{+x~^+DR!E3m7)megm^ zItH~>r@I=KmyOv@44OOtKThZpfbfUtXSFx*RbNM z&Hb_(iFZ~e_iA+JN3zcuQbx;ay^w*Mpc#BbEtuPDkMd;H906}6^*fA1t~)xrbwhai ztMVBi{hL$nczqiW@kXr5_&v*uAfIQUoU|Mjgnr)-^ye-R!y;YKa(sl{>o^Aif1qML z48M8nko{7Cff1Mwy0e_+^Nvf=%oGK}8r6)-36(M6+AqSeSaT}nPs`VShQA5xK^aAA zYlKErF38jLs+`bnyshSJPbsp)l}{-`BR!4mDn)P*ejS*Ksw*@oBi{9BeE<8{%v@-> zyAS_{Mg^J`(sMS+_pbUbHm1d5Rd+$y@s9#nzdg6yr+bluf1T-#xvOT|wH^*an`6@* znjro`(h>l7e2cn?Z5wj3q#E&vLo&s1jcy&2Tiq7L5?J1z4x`8edH+_tlPM)A?oi^<>O{U58UIsZsgAF6V)4Y9f(2`g}AS96{ zt$d^LX?5K1U+v;Jw=chL93LmE{RFKq>HC+Pm=q;S_M>z~KYC7EXyE-b`oZ3>`Y-e5 zA0M_x^P*fXgA9dN=o04v^b_3cAUK%4pB)4_34=Quv+9@Bvc}+E2~4 zmW&O_{T}Cqi2jmtK&der1ab6}ShBP@ZNZh!n&X~N5GD}QM&Ob{~u}q1`Rb>tn zxB_eI#iv!Iv5`Wv=jB3Rb^!IjdXIB`)!xNv_)ak8AsZwQLS?H*>khoiSOqe< z7bw3H%voWZcQM@wD{brikz!q4p$p#V^yp89)=_G1ky`pV#z}^WNFdD2DgGqu$ok%4{SxStEk(GYOqsM`5076#!>B@)}3RLtTk$wiL75voi zKLN$F8To%L0M{T%oyVaLIbgHp!w3a^7+0tVE8LLvwU;T!64hR&s;tvp3Te64bhs`X>aHN&5ofj%?zVbZuA;CulM`qwnxMV|03qT7%27o)aTTKAgw#)$Vt$~oz zJ0wJS;gvy0EAu*Y^vYJpC8_C@5>IAEN?A}VXaV0xU!Fu}@vR#4m!_IEvbBYpLjOsE zf%UJiS{VjNYMRl5H;+LNz%kqh&sE5vtyQf|>k3b0oAj-Yric)5Vmw>#l~^S+LZ>C5zfa^=R6UKrng`%x2z`yj*OufGjIt!(Mq+(>$I{o5+}ZW6 zFIus6U1vAL@xASSRxgz;g7C%`m-=18mh0FvG8`9zrgbMFlwU5sn>kYh-w9_CVDIzFd_B=u&zLLV!isw_^CWq z+N!J}l5CcPC2oYtG|HTcAQc>;B#yANL#Jqm3w*G7l2Yd%Tjg&_@-$8SYyUNAj-Oh$568~!%QM+V*0qNkAq5uE@ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Array.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Array.elmo new file mode 100644 index 0000000..8f6e9ce --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Array.elmo @@ -0,0 +1,46 @@ +var _krisajenkins$elm_exts$Exts_Array$singleton = function (x) { + return A2(_elm_lang$core$Array$push, x, _elm_lang$core$Array$empty); +}; +var _krisajenkins$elm_exts$Exts_Array$unzip = function () { + var reducer = F2( + function (_p1, _p0) { + var _p2 = _p1; + var _p3 = _p0; + return { + ctor: '_Tuple2', + _0: A2(_elm_lang$core$Array$push, _p2._0, _p3._0), + _1: A2(_elm_lang$core$Array$push, _p2._1, _p3._1) + }; + }); + return A2( + _elm_lang$core$Array$foldl, + reducer, + {ctor: '_Tuple2', _0: _elm_lang$core$Array$empty, _1: _elm_lang$core$Array$empty}); +}(); +var _krisajenkins$elm_exts$Exts_Array$delete = F2( + function (n, xs) { + if (_elm_lang$core$Native_Utils.cmp(n, 0) < 0) { + return xs; + } else { + var after = A3( + _elm_lang$core$Array$slice, + n + 1, + _elm_lang$core$Array$length(xs), + xs); + var before = A3(_elm_lang$core$Array$slice, 0, n, xs); + return A2(_elm_lang$core$Array$append, before, after); + } + }); +var _krisajenkins$elm_exts$Exts_Array$update = F3( + function (n, f, xs) { + var _p4 = A2(_elm_lang$core$Array$get, n, xs); + if (_p4.ctor === 'Nothing') { + return xs; + } else { + return A3( + _elm_lang$core$Array$set, + n, + f(_p4._0), + xs); + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Basics.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Basics.elmi new file mode 100644 index 0000000000000000000000000000000000000000..018ee4bf31df87d678becf100eccb8093b1be306 GIT binary patch literal 772 zcmb7CK@Ng25G+E88c+Vi4|r6M8jbpa1*@sFU|LA@_Y&z?>4n(K?oMa7vzap1JM&(} z*sL(p(p{8=EUmj63#Aw0S)-28Gs!FcAR|^UAY9Y)x02Vd~Yto eI2kY>)QFG`N&vCd)g7+8uj4O}{Xff%^x+MC9Z|3V literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Basics.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Basics.elmo new file mode 100644 index 0000000..28ef19f --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Basics.elmo @@ -0,0 +1,19 @@ +var _krisajenkins$elm_exts$Exts_Basics$compareBy = F3( + function (f, a, b) { + return A2( + _elm_lang$core$Basics$compare, + f(a), + f(b)); + }); +var _krisajenkins$elm_exts$Exts_Basics$maxBy = F3( + function (toComparable, x, y) { + return _elm_lang$core$Native_Utils.eq( + A3(_krisajenkins$elm_exts$Exts_Basics$compareBy, toComparable, x, y), + _elm_lang$core$Basics$LT) ? y : x; + }); +var _krisajenkins$elm_exts$Exts_Basics$minBy = F3( + function (toComparable, x, y) { + return _elm_lang$core$Native_Utils.eq( + A3(_krisajenkins$elm_exts$Exts_Basics$compareBy, toComparable, x, y), + _elm_lang$core$Basics$LT) ? x : y; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Date.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Date.elmi new file mode 100644 index 0000000000000000000000000000000000000000..bb3efeadfe1a110d30a5aa5cc236810694c62650 GIT binary patch literal 806 zcmcIixemfG3{B}FP?`7-rcN*dLaM|i$`7OvAdmy)kl^o;s<<>+SRjkzmuLIg4np1; zc^*Q;yP_K3h`3Xs-CLh9J|<5Cehe|Wk!7{5jH2SwVq6My-B?}|1=zsI{c>Iu#l#`G zvyrpe3~PFX{D3A4Y)HUN7o@gOtR=3fHX(71Uv(JW-!W{?QgKJ_IUC~foS(i?Dq9C7 zvpvz4g+elKJ|Hrb8k+uCTXFK)U{2yKbq^B1!{v$jfO6`Qz*_O@DT20mig=HM-27wdJv~t z1T9mD9}s6!*>XeYq%jR4To;A9T@^YF&~Fr`YIUnMWuu!7BJaIyI#q?K8NerRukZqB z*QK)Kbz|GAXs!UA6XiAF9IUIoxWv3T+u7Gza&TU|UI2L>)!JS@{xes!@lR~O3@~?U OjUGXN7;~ei7JLII1PBiR literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Delta.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Delta.elmo new file mode 100644 index 0000000..e99a087 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Delta.elmo @@ -0,0 +1,83 @@ +var _krisajenkins$elm_exts$Exts_Delta$empty = { + entering: {ctor: '[]'}, + continuing: {ctor: '[]'}, + leaving: {ctor: '[]'} +}; +var _krisajenkins$elm_exts$Exts_Delta$listContains = function (x) { + return _elm_lang$core$List$any( + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.eq(x, y); + })(x)); +}; +var _krisajenkins$elm_exts$Exts_Delta$intersect = F2( + function (xs, ys) { + return A2( + _elm_lang$core$List$filter, + function (x) { + return A2(_krisajenkins$elm_exts$Exts_Delta$listContains, x, ys); + }, + xs); + }); +var _krisajenkins$elm_exts$Exts_Delta$filter = F2( + function (p, xs) { + filter: + while (true) { + var _p0 = xs; + if (_p0.ctor === '[]') { + return {ctor: '[]'}; + } else { + var _p2 = _p0._1; + var _p1 = _p0._0; + if (p(_p1)) { + return { + ctor: '::', + _0: _p1, + _1: A2(_krisajenkins$elm_exts$Exts_Delta$filter, p, _p2) + }; + } else { + var _v1 = p, + _v2 = _p2; + p = _v1; + xs = _v2; + continue filter; + } + } + } + }); +var _krisajenkins$elm_exts$Exts_Delta$remove = function (p) { + return _krisajenkins$elm_exts$Exts_Delta$filter( + function (_p3) { + return !p(_p3); + }); +}; +var _krisajenkins$elm_exts$Exts_Delta$diff = F2( + function (xs, ys) { + return A2( + _krisajenkins$elm_exts$Exts_Delta$remove, + function (x) { + return A2(_krisajenkins$elm_exts$Exts_Delta$listContains, x, ys); + }, + xs); + }); +var _krisajenkins$elm_exts$Exts_Delta$union = F2( + function (xs, ys) { + return A2( + _elm_lang$core$List$append, + xs, + A2(_krisajenkins$elm_exts$Exts_Delta$diff, ys, xs)); + }); +var _krisajenkins$elm_exts$Exts_Delta$generation = F2( + function (xs, ds) { + var actives = A2(_krisajenkins$elm_exts$Exts_Delta$union, ds.entering, ds.continuing); + var newEntries = A2(_krisajenkins$elm_exts$Exts_Delta$diff, xs, actives); + var newLeavers = A2(_krisajenkins$elm_exts$Exts_Delta$diff, actives, xs); + var newContinuers = A2(_krisajenkins$elm_exts$Exts_Delta$intersect, xs, actives); + return _elm_lang$core$Native_Utils.update( + _krisajenkins$elm_exts$Exts_Delta$empty, + {entering: newEntries, continuing: newContinuers, leaving: newLeavers}); + }); +var _krisajenkins$elm_exts$Exts_Delta$Delta = F3( + function (a, b, c) { + return {entering: a, continuing: b, leaving: c}; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Dict.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Dict.elmi new file mode 100644 index 0000000000000000000000000000000000000000..34e7d979feb8f94a5a3edfde164997603d2b0f2f GIT binary patch literal 1981 zcmd5+O;5ux3~lMwj)6GvKe%w*aqNNw5@M4$qO?s%Sifk~Y5Vt-k(aoU)*=LmUJ|?h zc+Yn1IGyjZBRS6brV=%K<@rYBwfZ;VX?DeT60#4UK;$vs&G%YfS4C4A`828cTf_56 zTU@NUd=m0y!4uY`5{}cPNaIy;Cu*Z=%9u&M5D`>o%Gy<@KWDXw01Ddif``r8G98gH zFdUI=(2eieKIE43*JHDwBT z0dmb|4%}Skc!1}02pWq)0~NQ^6Sz;KA}d+N!WIT}?pEKzHa&#H)TB(47)3<|?69GI zp?4jG9U5Ztz=7V+eN_yawv2!evx{y=JDiA@v91N85`WGh_{&1IO`nPoNrled{L zfOT)B<4>V`sa>2ELJeE-_Q(^=EUgK;txe>sh&a!8+{rslv4dzrN34spbe?GJ!at25 zVsTa6Ka3rso<^j4wjbI#OBEWjJ--PT6fKfh-bzg?vpT#K*25ZUSpuG)aL7=H$$>w| ZtRWU0e|lV)owSFMv7<8F6B@IB@C9bcGl~EJ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Float.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Float.elmo new file mode 100644 index 0000000..999fe77 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Float.elmo @@ -0,0 +1,7 @@ +var _krisajenkins$elm_exts$Exts_Float$roundTo = F2( + function (places, value) { + var factor = _elm_lang$core$Basics$toFloat( + Math.pow(10, places)); + return _elm_lang$core$Basics$toFloat( + _elm_lang$core$Basics$round(value * factor)) / factor; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Function.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Function.elmi new file mode 100644 index 0000000000000000000000000000000000000000..ca2efdfded3d56593a12aa6849fe53dff1f431a4 GIT binary patch literal 693 zcmah`K@P$o5ZsDw8so`-_<^SBK|N|>tRH}i220TtF#3B>>'] = F3( + function (f, g, env) { + return function (_p1) { + return A2( + g, + env, + A2(f, env, _p1)); + }; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Attributes.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Attributes.elmi new file mode 100644 index 0000000000000000000000000000000000000000..1a6ec6263fec6814d8805f63d9fbc4419037579d GIT binary patch literal 1944 zcmds1&riZI6fSI?fN=5u;N*>)h(?VjL=0EcZ3QRYO4`oIe=m-H-PVL~-!9$z`n}(; zkC4`P(~<}o?^LGQH!pTsq3zv(i+sv|4P*+PamqKW6lTpt$pKC*xH2j$wm?S~eJ%_j zXg>ut#8jJHo7y%7~|4#m~*Tb zEekk&C=!_>J!iWSA~5>K4zW)hECn+gsd6t69}n*H^b%!N#+Cw?(L2}22KZ>J_TbWw zaxV~G1Yffm0inl8fC`YXnPAPhNU(O>&2?63)ocoT)np0g#w7fzI|fd(V?)<5FXJHB zTPRfjK_8;;p&I-8%xb9NtIui!-P(6kU)T{s1&J?* Nb16l)>Sk+DAAfKP4_5#H literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Attributes.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Attributes.elmo new file mode 100644 index 0000000..f5bf21d --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Attributes.elmo @@ -0,0 +1,24 @@ +var _krisajenkins$elm_exts$Exts_Html_Attributes$styleList = function () { + var withActive = function (_p0) { + var _p1 = _p0; + return _p1._2 ? _elm_lang$core$Maybe$Just( + {ctor: '_Tuple2', _0: _p1._0, _1: _p1._1}) : _elm_lang$core$Maybe$Nothing; + }; + return function (_p2) { + return _elm_lang$html$Html_Attributes$style( + A2(_elm_lang$core$List$filterMap, withActive, _p2)); + }; +}(); +var _krisajenkins$elm_exts$Exts_Html_Attributes$defaultValue = _elm_lang$html$Html_Attributes$property('defaultValue'); +var _krisajenkins$elm_exts$Exts_Html_Attributes$defaultString = function (_p3) { + return _krisajenkins$elm_exts$Exts_Html_Attributes$defaultValue( + _elm_lang$core$Json_Encode$string(_p3)); +}; +var _krisajenkins$elm_exts$Exts_Html_Attributes$defaultInt = function (_p4) { + return _krisajenkins$elm_exts$Exts_Html_Attributes$defaultValue( + _elm_lang$core$Json_Encode$int(_p4)); +}; +var _krisajenkins$elm_exts$Exts_Html_Attributes$defaultFloat = function (_p5) { + return _krisajenkins$elm_exts$Exts_Html_Attributes$defaultValue( + _elm_lang$core$Json_Encode$float(_p5)); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap-Glyphicons.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap-Glyphicons.elmi new file mode 100644 index 0000000000000000000000000000000000000000..4260295d465edf85e08bab48d4999081a099bd83 GIT binary patch literal 47859 zcmd5_TX);I5q2U{A|*SUwx>U1ANHZU=k(2z0 z1V`G_z773i;TsVAi2H43&dz#&f9!?M&d#69q!M3c{+#5Ml|?emew5#948O%^;(hvB z9Fncd5sE(`(#Cl+!89(bT0+v#HXJ;p4W<_?n^IYP1i$Ui@Gi++oN$qr~(eO`%A3#X;o~%P;<{ z(k7E#W=vZ^GqqHr7I`d?^*_q3+TrI<=1}BaaI|(W3*aZdCYURQgd+Vr6D5Yjhce0W zyT%KV$x_%?1=q?+Ac+*SYW%SlsjGI=H8h?Znd}dkO01DD$*#u2i!W0s<6HTJF=hr> z$Q)V?X1RerdC8m`Rm);7w$Cr3#0)&Y z7FA8Kh=idF5%|^NgJ>#b3vF3pWtd#6(o1)y(T$ZJJ@v6nt0RHDp4C2~UY=VBHGez6AX!yD+`AuFoDfUyd7FlJ&K|d_N zZ&Q&8@|D4d#MS%YRtoI*pciwsXR>^i_l3mVjUWgkf-Cab7g6R(zW4GfgzAxFm53H1 zmHEzf@#9Y--znFRFI1L6L$O6Sz7zXgVkowS?eYREgqIu8+tn}9J#xM}sG$YnL7CLz8VP_es+>?0r#u0~zF3h)4rol^N@>OTb9I$KSX0?WkJ);Nf0k7ar`= z^y7L-haXb4!4DaKDPicxUNl^b>KVKAF^qv-=NZq-L_TeWt1(kuRV&k+u*F`%V7gIV zClo)3Lc$1_U}vI-r?T$N3~rOW8z=O@WfPk`G}QsBfDMiwD=ezfhYh9|tdyI8ywktu zua{|Y5F1yM{?JFe_BLw;_a)RR`wp9efx3wAZ3=Z=CYz>q1M8nC-aQgOLY6{bEs^qg z`MrSBw(mJ#s5BKtCA~tKBIZgjyj6QQw+Ug4cXNR;NV<7W{CD~CC4t8HVv~n?#8$b1 zAXo`EUkbdI5^5Y7jX!2Zmy?=p7YbI;?rqZ3YnU_^uUFkPbk-t%V&^T?o2l6cJuVjU z7)=+YgrN_bJiac1=~-SqxdNIjnmUywj#*OV1!K^4{Rk^QYflDYhHy$ki(})zt zI&62r-=L?*m@tUDK`M9tE$mIH<&l0f4Pqz{o3W_r)J|gjv#=UwSqAY=|&&7@)kN4EP!_y zhCaP^pBpcC4X}n;l1=0NeW61~W8=FPCnM>_oy?mXk!>JnT=~uJ)J~+mK4^6BttLz1 zzIwW9a+9U5?L>Mezk=Fe`IwnKbcPCR$2%QC&s_JVZe=#wyZeovVw(B;+Et4`c<5Z! zwVR;)*%KUn>JOgK8&m(}!6X~rdm?{~hvt+B_(17{=LmXfzeB9Y5*ldxc=tsUXs?xW zg*;m|Frvb!n-o}ObZ^uHB3(w_yJ8*o37H7q*fZ7;PajMl`&V zn+97gg27Fl;q(=EG<ulq_^rqEW8u1ZlZ!9EE7ci1Z~~2!`D!Jw8*fo{B9J; zIr^q6Z3gD&F=9I~UxzVJ8w@!n{rI__H(d=hy6H+%6_NlWtp( zoeFN!vlG!PD|QlQ^NyW`U9qzBz=bC}5pNyN&cz%y4S|K?@7~>c9eaLso6PJ~MzBA_ zPQsl^@H4^lA9g180GXW!?2@u`@K2`L$+YLw>@@t-#lesn#44+I>du}u-LWt`6?#xQ zC_;m%I!DLR>{--5@n)yfUaw=P(LV}gr{f<&vXjyG{@6+M&i>iic()GNxxh)6xkJQG z#Jfnq&IOPE*ol~@*@&RbgimyL)TwRN8xL>@>8l5jzQ^{KU?J-ppqwWUm|# zf(KkCX6NA)9@v?nCI&l^zTy%)ou0}PI~!loiJgp5M;ru;jGcv5OJV0>l&c270+c`5 zS+wdY>@+;}l%a6Z3KQ&HdKx+GY&=~cb}qj9(g4VG8jkE_Jl#rmE=Eh7ods$_vlH<& zFWI?hWlVMwM*o?e1?bg+*^D930QKGh(9mjM>@=KS^)Q$W;xNBcO=r&(s|3%^V`4RY z*@@+$v5`1- zN~g`!vD2c4@z@C++1+DjMC=f<^EqX-ke!q^#XkTNNy<(FJQ=WaaMsP)nOOVn>^zKJ zWOf$LxGp=BBb%`7jEFT_c0QeDb9O4Nq2(da00$E6G>pk;b{5v34m*#~SUhK^;S8^{ zGeNg3>_j?q;p|jeKOgKgj5iu~7M@!sb}q)n7ds2*mxrB6>qm;626`r8Co*pRbg}aY zjn4*l8a@9{>};%qqyg|S-eA~ypg%iyB1c|S*cn-;hU`3guF%-oc<$cVxmeeX>^wXt zaqL`@*^D?#s@k=Si2HjdjG% z&cpbPWoJP=*0S?C_La*{>B#vmJEK!>f7wa-&Wzc~5I4%~e9-akK#2VO(?E#)!cWBW zlFXhdz7uD5G68s_<~OYvYZk^^J9~z-?z!1%oP(3^LOUaV0Wan3Y-XAb_`Mzk8K|;~ z-xN&e4Vk@kIydp`R6Mua>|A^o*6d_P>j7BL3xLD`>;{3K_-B3^!CL10)?$g%dG>l5 zujTi8p;E;^DVS<1H!|5D_=_phTvo|%{JW&4fW9QV`oLaS-mdvMOxA~6QSSN6Weh}; ziod2#*M}zCR9EU{05;KDE|2`PwP2lO{B;Ca3}DC!*Xl*`ckj`<6nXVD045g=brfN%&2`)3_PtVf@$w-1Zph;QE-u}W=BBhR*&FTbCsa2X?qIZHC3`D zpuLVp(AIb|0nHgF!MYPiA~5q3id`ouRwxwV#uJ9^f7lZvh}{?>DA;Eph*i#@XxqUN z6uTP&Yx5TbvKOHUsy$Q_s9gjT&=_8(7-R;v8x)!C6%5$_=K3|keD9=0;8r7# zpp&^Mw_UG>QhoM>zwLi>5=61NQnXS=8p}jU@m52UBrslxOqPP6#-|F!=HP&aVAc*U zLA^r&BI!25so*k&$)aAE6T!>~7I5q%X@52~BC~uZ51kvyuT51aPp?E~jBpanv$#wo zzWrk&>O06ILR2LuaA(z!2*#JYuRxceX77<=%Uwd_wHI4S#BiaP&;&GQ#|YNDwm@aq zqN?#q1Cd3)gBx9K5*O@HfB^^sno9u$Lq9qM_8sm~k$2C5h*~eT1e`&>d@I$d%64u= zr|Oi`bSBAl2JVQ!Q&A%lYuSdNJq=YNbC$0O?p=B(lAgLAkvSVb1drz;UnJ%BXsC!U z%Tm3ZXq{6dIF(%!BY7<7D-5ic?nK}&MHAdpY9kU~p^J#9zf~eO9)T!!3kH)ZcAb>8 z&Z2)#64f~nCAhy7CZg7|0s*51Xm#W}LHjzZFic`k7Ani2Yb5Zvwc$$8*jDbNGQkFM zqEt{Xj3m{&H%?@;>&{OZ5qVz2h=l0F5$TaKA(3mhCIVgshXBQ?XAJ$osZ^{%*7T!IPhO*@Y)Q zst5kFCteNHd~h8_c-q|+f`;a{2m!5YPJ+hsGLcVPaWpu1e$412S8(#PQE?BI;w&#h!x|JsAIb2OiMNyd@TOymH?5H-jcDYIP)|Ds$t?6unb~Z(c z0M->-byRnZnj?v6EWZ(~RsSQPbznl#<@W-dTNBi%LJ`b!O-dxb3rZsD`Ryb!&x_`1 ziS|57C5uwR)N*m$uH30Fd1A6?>Qt6=hHV{0k;qWeSy9TWlC;4@OHmdFmD9e(8HOS$ zwP)cJgxkn$xLa6(r3Iv$dmpa(#kDgfk;-54WhuJJTkj{s}V?zFp9lIIUe0(-|`)IQokqaG-O6 zV69<03SL5Wqzx`!{s*=f;Tjm7QyIS{GzDX=hJeOw9Kpu(q&g_t(OV}ZB<^f3Hm`6K zJ8ROTg|@!XNTN^YDcm7HHNcJLM~x@EEQ+J~dbotk5wtmVuCU1ajK>m!#aB&{o|+ML zrpd??P7|2mlX+5aRYH54(Y&U+gZhMoJgmOV literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap-Glyphicons.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap-Glyphicons.elmo new file mode 100644 index 0000000..f1ccf25 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap-Glyphicons.elmo @@ -0,0 +1,822 @@ +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$glyphiconClass = function (icon) { + return A2( + _elm_lang$core$Basics_ops['++'], + 'glyphicon-', + function () { + var _p0 = icon; + switch (_p0.ctor) { + case 'Asterisk': + return 'asterisk'; + case 'Plus': + return 'plus'; + case 'Euro': + return 'euro'; + case 'Eur': + return 'eur'; + case 'Minus': + return 'minus'; + case 'Cloud': + return 'cloud'; + case 'Envelope': + return 'envelope'; + case 'Pencil': + return 'pencil'; + case 'Glass': + return 'glass'; + case 'Music': + return 'music'; + case 'Search': + return 'search'; + case 'Heart': + return 'heart'; + case 'Star': + return 'star'; + case 'StarEmpty': + return 'star-empty'; + case 'User': + return 'user'; + case 'Film': + return 'film'; + case 'ThLarge': + return 'th-large'; + case 'Th': + return 'th'; + case 'ThList': + return 'th-list'; + case 'Ok': + return 'ok'; + case 'Remove': + return 'remove'; + case 'ZoomIn': + return 'zoom-in'; + case 'ZoomOut': + return 'zoom-out'; + case 'Off': + return 'off'; + case 'Signal': + return 'signal'; + case 'Cog': + return 'cog'; + case 'Trash': + return 'trash'; + case 'Home': + return 'home'; + case 'File': + return 'file'; + case 'Time': + return 'time'; + case 'Road': + return 'road'; + case 'DownloadAlt': + return 'download-alt'; + case 'Download': + return 'download'; + case 'Upload': + return 'upload'; + case 'Inbox': + return 'inbox'; + case 'PlayCircle': + return 'play-circle'; + case 'Repeat': + return 'repeat'; + case 'Refresh': + return 'refresh'; + case 'ListAlt': + return 'list-alt'; + case 'Lock': + return 'lock'; + case 'Flag': + return 'flag'; + case 'Headphones': + return 'headphones'; + case 'VolumeOff': + return 'volume-off'; + case 'VolumeDown': + return 'volume-down'; + case 'VolumeUp': + return 'volume-up'; + case 'Qrcode': + return 'qrcode'; + case 'Barcode': + return 'barcode'; + case 'Tag': + return 'tag'; + case 'Tags': + return 'tags'; + case 'Book': + return 'book'; + case 'Bookmark': + return 'bookmark'; + case 'Print': + return 'print'; + case 'Camera': + return 'camera'; + case 'Font': + return 'font'; + case 'Bold': + return 'bold'; + case 'Italic': + return 'italic'; + case 'TextHeight': + return 'text-height'; + case 'TextWidth': + return 'text-width'; + case 'AlignLeft': + return 'align-left'; + case 'AlignCenter': + return 'align-center'; + case 'AlignRight': + return 'align-right'; + case 'AlignJustify': + return 'align-justify'; + case 'List': + return 'list'; + case 'IndentLeft': + return 'indent-left'; + case 'IndentRight': + return 'indent-right'; + case 'FacetimeVideo': + return 'facetime-video'; + case 'Picture': + return 'picture'; + case 'MapMarker': + return 'map-marker'; + case 'Adjust': + return 'adjust'; + case 'Tint': + return 'tint'; + case 'Edit': + return 'edit'; + case 'Share': + return 'share'; + case 'Check': + return 'check'; + case 'Move': + return 'move'; + case 'StepBackward': + return 'step-backward'; + case 'FastBackward': + return 'fast-backward'; + case 'Backward': + return 'backward'; + case 'Play': + return 'play'; + case 'Pause': + return 'pause'; + case 'Stop': + return 'stop'; + case 'Forward': + return 'forward'; + case 'FastForward': + return 'fast-forward'; + case 'StepForward': + return 'step-forward'; + case 'Eject': + return 'eject'; + case 'ChevronLeft': + return 'chevron-left'; + case 'ChevronRight': + return 'chevron-right'; + case 'PlusSign': + return 'plus-sign'; + case 'MinusSign': + return 'minus-sign'; + case 'RemoveSign': + return 'remove-sign'; + case 'OkSign': + return 'ok-sign'; + case 'QuestionSign': + return 'question-sign'; + case 'InfoSign': + return 'info-sign'; + case 'Screenshot': + return 'screenshot'; + case 'RemoveCircle': + return 'remove-circle'; + case 'OkCircle': + return 'ok-circle'; + case 'BanCircle': + return 'ban-circle'; + case 'ArrowLeft': + return 'arrow-left'; + case 'ArrowRight': + return 'arrow-right'; + case 'ArrowUp': + return 'arrow-up'; + case 'ArrowDown': + return 'arrow-down'; + case 'ShareAlt': + return 'share-alt'; + case 'ResizeFull': + return 'resize-full'; + case 'ResizeSmall': + return 'resize-small'; + case 'ExclamationSign': + return 'exclamation-sign'; + case 'Gift': + return 'gift'; + case 'Leaf': + return 'leaf'; + case 'Fire': + return 'fire'; + case 'EyeOpen': + return 'eye-open'; + case 'EyeClose': + return 'eye-close'; + case 'WarningSign': + return 'warning-sign'; + case 'Plane': + return 'plane'; + case 'Calendar': + return 'calendar'; + case 'Random': + return 'random'; + case 'Comment': + return 'comment'; + case 'Magnet': + return 'magnet'; + case 'ChevronUp': + return 'chevron-up'; + case 'ChevronDown': + return 'chevron-down'; + case 'Retweet': + return 'retweet'; + case 'ShoppingCart': + return 'shopping-cart'; + case 'FolderClose': + return 'folder-close'; + case 'FolderOpen': + return 'folder-open'; + case 'ResizeVertical': + return 'resize-vertical'; + case 'ResizeHorizontal': + return 'resize-horizontal'; + case 'Hdd': + return 'hdd'; + case 'Bullhorn': + return 'bullhorn'; + case 'Bell': + return 'bell'; + case 'Certificate': + return 'certificate'; + case 'ThumbsUp': + return 'thumbs-up'; + case 'ThumbsDown': + return 'thumbs-down'; + case 'HandRight': + return 'hand-right'; + case 'HandLeft': + return 'hand-left'; + case 'HandUp': + return 'hand-up'; + case 'HandDown': + return 'hand-down'; + case 'CircleArrowRight': + return 'circle-arrow-right'; + case 'CircleArrowLeft': + return 'circle-arrow-left'; + case 'CircleArrowUp': + return 'circle-arrow-up'; + case 'CircleArrowDown': + return 'circle-arrow-down'; + case 'Globe': + return 'globe'; + case 'Wrench': + return 'wrench'; + case 'Tasks': + return 'tasks'; + case 'Filter': + return 'filter'; + case 'Briefcase': + return 'briefcase'; + case 'Fullscreen': + return 'fullscreen'; + case 'Dashboard': + return 'dashboard'; + case 'Paperclip': + return 'paperclip'; + case 'HeartEmpty': + return 'heart-empty'; + case 'Link': + return 'link'; + case 'Phone': + return 'phone'; + case 'Pushpin': + return 'pushpin'; + case 'Usd': + return 'usd'; + case 'Gbp': + return 'gbp'; + case 'Sort': + return 'sort'; + case 'SortByAlphabet': + return 'sort-by-alphabet'; + case 'SortByAlphabetAlt': + return 'sort-by-alphabet-alt'; + case 'SortByOrder': + return 'sort-by-order'; + case 'SortByOrderAlt': + return 'sort-by-order-alt'; + case 'SortByAttributes': + return 'sort-by-attributes'; + case 'SortByAttributesAlt': + return 'sort-by-attributes-alt'; + case 'Unchecked': + return 'unchecked'; + case 'Expand': + return 'expand'; + case 'CollapseDown': + return 'collapse-down'; + case 'CollapseUp': + return 'collapse-up'; + case 'LogIn': + return 'log-in'; + case 'Flash': + return 'flash'; + case 'LogOut': + return 'log-out'; + case 'NewWindow': + return 'new-window'; + case 'Record': + return 'record'; + case 'Save': + return 'save'; + case 'Open': + return 'open'; + case 'Saved': + return 'saved'; + case 'Import': + return 'import'; + case 'Export': + return 'export'; + case 'Send': + return 'send'; + case 'FloppyDisk': + return 'floppy-disk'; + case 'FloppySaved': + return 'floppy-saved'; + case 'FloppyRemove': + return 'floppy-remove'; + case 'FloppySave': + return 'floppy-save'; + case 'FloppyOpen': + return 'floppy-open'; + case 'CreditCard': + return 'credit-card'; + case 'Transfer': + return 'transfer'; + case 'Cutlery': + return 'cutlery'; + case 'Header': + return 'header'; + case 'Compressed': + return 'compressed'; + case 'Earphone': + return 'earphone'; + case 'PhoneAlt': + return 'phone-alt'; + case 'Tower': + return 'tower'; + case 'Stats': + return 'stats'; + case 'SdVideo': + return 'sd-video'; + case 'HdVideo': + return 'hd-video'; + case 'Subtitles': + return 'subtitles'; + case 'SoundStereo': + return 'sound-stereo'; + case 'SoundDolby': + return 'sound-dolby'; + case 'Sound51': + return 'sound-5-1'; + case 'Sound61': + return 'sound-6-1'; + case 'Sound71': + return 'sound-7-1'; + case 'CopyrightMark': + return 'copyright-mark'; + case 'RegistrationMark': + return 'registration-mark'; + case 'CloudDownload': + return 'cloud-download'; + case 'CloudUpload': + return 'cloud-upload'; + case 'TreeConifer': + return 'tree-conifer'; + case 'TreeDeciduous': + return 'tree-deciduous'; + case 'Cd': + return 'cd'; + case 'SaveFile': + return 'save-file'; + case 'OpenFile': + return 'open-file'; + case 'LevelUp': + return 'level-up'; + case 'Copy': + return 'copy'; + case 'Paste': + return 'paste'; + case 'Alert': + return 'alert'; + case 'Equalizer': + return 'equalizer'; + case 'King': + return 'king'; + case 'Queen': + return 'queen'; + case 'Pawn': + return 'pawn'; + case 'Bishop': + return 'bishop'; + case 'Knight': + return 'knight'; + case 'BabyFormula': + return 'baby-formula'; + case 'Tent': + return 'tent'; + case 'Blackboard': + return 'blackboard'; + case 'Bed': + return 'bed'; + case 'Apple': + return 'apple'; + case 'Erase': + return 'erase'; + case 'Hourglass': + return 'hourglass'; + case 'Lamp': + return 'lamp'; + case 'Duplicate': + return 'duplicate'; + case 'PiggyBank': + return 'piggy-bank'; + case 'Scissors': + return 'scissors'; + case 'Bitcoin': + return 'bitcoin'; + case 'Btc': + return 'btc'; + case 'Xbt': + return 'xbt'; + case 'Yen': + return 'yen'; + case 'Jpy': + return 'jpy'; + case 'Ruble': + return 'ruble'; + case 'Rub': + return 'rub'; + case 'Scale': + return 'scale'; + case 'IceLolly': + return 'ice-lolly'; + case 'IceLollyTasted': + return 'ice-lolly-tasted'; + case 'Education': + return 'education'; + case 'OptionHorizontal': + return 'option-horizontal'; + case 'OptionVertical': + return 'option-vertical'; + case 'MenuHamburger': + return 'menu-hamburger'; + case 'ModalWindow': + return 'modal-window'; + case 'Oil': + return 'oil'; + case 'Grain': + return 'grain'; + case 'Sunglasses': + return 'sunglasses'; + case 'TextSize': + return 'text-size'; + case 'TextColor': + return 'text-color'; + case 'TextBackground': + return 'text-background'; + case 'ObjectAlignTop': + return 'object-align-top'; + case 'ObjectAlignBottom': + return 'object-align-bottom'; + case 'ObjectAlignHorizontal': + return 'object-align-horizontal'; + case 'ObjectAlignLeft': + return 'object-align-left'; + case 'ObjectAlignVertical': + return 'object-align-vertical'; + case 'ObjectAlignRight': + return 'object-align-right'; + case 'TriangleRight': + return 'triangle-right'; + case 'TriangleLeft': + return 'triangle-left'; + case 'TriangleBottom': + return 'triangle-bottom'; + case 'TriangleTop': + return 'triangle-top'; + case 'Console': + return 'console'; + case 'Superscript': + return 'superscript'; + case 'Subscript': + return 'subscript'; + case 'MenuLeft': + return 'menu-left'; + case 'MenuRight': + return 'menu-right'; + case 'MenuDown': + return 'menu-down'; + default: + return 'menu-up'; + } + }()); +}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$glyphicon = function (icon) { + return A2( + _elm_lang$html$Html$span, + { + ctor: '::', + _0: _elm_lang$html$Html_Attributes$classList( + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: 'glyphicon', _1: true}, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$glyphiconClass(icon), + _1: true + }, + _1: {ctor: '[]'} + } + }), + _1: {ctor: '[]'} + }, + {ctor: '[]'}); +}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$MenuUp = {ctor: 'MenuUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$MenuDown = {ctor: 'MenuDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$MenuRight = {ctor: 'MenuRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$MenuLeft = {ctor: 'MenuLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Subscript = {ctor: 'Subscript'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Superscript = {ctor: 'Superscript'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Console = {ctor: 'Console'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TriangleTop = {ctor: 'TriangleTop'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TriangleBottom = {ctor: 'TriangleBottom'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TriangleLeft = {ctor: 'TriangleLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TriangleRight = {ctor: 'TriangleRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ObjectAlignRight = {ctor: 'ObjectAlignRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ObjectAlignVertical = {ctor: 'ObjectAlignVertical'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ObjectAlignLeft = {ctor: 'ObjectAlignLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ObjectAlignHorizontal = {ctor: 'ObjectAlignHorizontal'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ObjectAlignBottom = {ctor: 'ObjectAlignBottom'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ObjectAlignTop = {ctor: 'ObjectAlignTop'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TextBackground = {ctor: 'TextBackground'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TextColor = {ctor: 'TextColor'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TextSize = {ctor: 'TextSize'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Sunglasses = {ctor: 'Sunglasses'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Grain = {ctor: 'Grain'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Oil = {ctor: 'Oil'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ModalWindow = {ctor: 'ModalWindow'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$MenuHamburger = {ctor: 'MenuHamburger'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$OptionVertical = {ctor: 'OptionVertical'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$OptionHorizontal = {ctor: 'OptionHorizontal'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Education = {ctor: 'Education'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$IceLollyTasted = {ctor: 'IceLollyTasted'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$IceLolly = {ctor: 'IceLolly'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Scale = {ctor: 'Scale'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Rub = {ctor: 'Rub'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Ruble = {ctor: 'Ruble'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Jpy = {ctor: 'Jpy'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Yen = {ctor: 'Yen'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Xbt = {ctor: 'Xbt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Btc = {ctor: 'Btc'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Bitcoin = {ctor: 'Bitcoin'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Scissors = {ctor: 'Scissors'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$PiggyBank = {ctor: 'PiggyBank'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Duplicate = {ctor: 'Duplicate'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Lamp = {ctor: 'Lamp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Hourglass = {ctor: 'Hourglass'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Erase = {ctor: 'Erase'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Apple = {ctor: 'Apple'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Bed = {ctor: 'Bed'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Blackboard = {ctor: 'Blackboard'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Tent = {ctor: 'Tent'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$BabyFormula = {ctor: 'BabyFormula'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Knight = {ctor: 'Knight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Bishop = {ctor: 'Bishop'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Pawn = {ctor: 'Pawn'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Queen = {ctor: 'Queen'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$King = {ctor: 'King'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Equalizer = {ctor: 'Equalizer'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Alert = {ctor: 'Alert'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Paste = {ctor: 'Paste'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Copy = {ctor: 'Copy'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$LevelUp = {ctor: 'LevelUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$OpenFile = {ctor: 'OpenFile'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SaveFile = {ctor: 'SaveFile'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Cd = {ctor: 'Cd'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TreeDeciduous = {ctor: 'TreeDeciduous'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TreeConifer = {ctor: 'TreeConifer'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CloudUpload = {ctor: 'CloudUpload'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CloudDownload = {ctor: 'CloudDownload'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$RegistrationMark = {ctor: 'RegistrationMark'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CopyrightMark = {ctor: 'CopyrightMark'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Sound71 = {ctor: 'Sound71'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Sound61 = {ctor: 'Sound61'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Sound51 = {ctor: 'Sound51'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SoundDolby = {ctor: 'SoundDolby'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SoundStereo = {ctor: 'SoundStereo'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Subtitles = {ctor: 'Subtitles'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$HdVideo = {ctor: 'HdVideo'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SdVideo = {ctor: 'SdVideo'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Stats = {ctor: 'Stats'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Tower = {ctor: 'Tower'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$PhoneAlt = {ctor: 'PhoneAlt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Earphone = {ctor: 'Earphone'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Compressed = {ctor: 'Compressed'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Header = {ctor: 'Header'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Cutlery = {ctor: 'Cutlery'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Transfer = {ctor: 'Transfer'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CreditCard = {ctor: 'CreditCard'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FloppyOpen = {ctor: 'FloppyOpen'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FloppySave = {ctor: 'FloppySave'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FloppyRemove = {ctor: 'FloppyRemove'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FloppySaved = {ctor: 'FloppySaved'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FloppyDisk = {ctor: 'FloppyDisk'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Send = {ctor: 'Send'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Export = {ctor: 'Export'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Import = {ctor: 'Import'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Saved = {ctor: 'Saved'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Open = {ctor: 'Open'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Save = {ctor: 'Save'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Record = {ctor: 'Record'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$NewWindow = {ctor: 'NewWindow'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$LogOut = {ctor: 'LogOut'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Flash = {ctor: 'Flash'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$LogIn = {ctor: 'LogIn'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CollapseUp = {ctor: 'CollapseUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CollapseDown = {ctor: 'CollapseDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Expand = {ctor: 'Expand'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Unchecked = {ctor: 'Unchecked'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SortByAttributesAlt = {ctor: 'SortByAttributesAlt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SortByAttributes = {ctor: 'SortByAttributes'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SortByOrderAlt = {ctor: 'SortByOrderAlt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SortByOrder = {ctor: 'SortByOrder'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SortByAlphabetAlt = {ctor: 'SortByAlphabetAlt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$SortByAlphabet = {ctor: 'SortByAlphabet'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Sort = {ctor: 'Sort'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Gbp = {ctor: 'Gbp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Usd = {ctor: 'Usd'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Pushpin = {ctor: 'Pushpin'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Phone = {ctor: 'Phone'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Link = {ctor: 'Link'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$HeartEmpty = {ctor: 'HeartEmpty'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Paperclip = {ctor: 'Paperclip'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Dashboard = {ctor: 'Dashboard'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Fullscreen = {ctor: 'Fullscreen'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Briefcase = {ctor: 'Briefcase'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Filter = {ctor: 'Filter'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Tasks = {ctor: 'Tasks'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Wrench = {ctor: 'Wrench'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Globe = {ctor: 'Globe'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CircleArrowDown = {ctor: 'CircleArrowDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CircleArrowUp = {ctor: 'CircleArrowUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CircleArrowLeft = {ctor: 'CircleArrowLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$CircleArrowRight = {ctor: 'CircleArrowRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$HandDown = {ctor: 'HandDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$HandUp = {ctor: 'HandUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$HandLeft = {ctor: 'HandLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$HandRight = {ctor: 'HandRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ThumbsDown = {ctor: 'ThumbsDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ThumbsUp = {ctor: 'ThumbsUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Certificate = {ctor: 'Certificate'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Bell = {ctor: 'Bell'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Bullhorn = {ctor: 'Bullhorn'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Hdd = {ctor: 'Hdd'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ResizeHorizontal = {ctor: 'ResizeHorizontal'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ResizeVertical = {ctor: 'ResizeVertical'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FolderOpen = {ctor: 'FolderOpen'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FolderClose = {ctor: 'FolderClose'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ShoppingCart = {ctor: 'ShoppingCart'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Retweet = {ctor: 'Retweet'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ChevronDown = {ctor: 'ChevronDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ChevronUp = {ctor: 'ChevronUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Magnet = {ctor: 'Magnet'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Comment = {ctor: 'Comment'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Random = {ctor: 'Random'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Calendar = {ctor: 'Calendar'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Plane = {ctor: 'Plane'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$WarningSign = {ctor: 'WarningSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$EyeClose = {ctor: 'EyeClose'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$EyeOpen = {ctor: 'EyeOpen'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Fire = {ctor: 'Fire'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Leaf = {ctor: 'Leaf'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Gift = {ctor: 'Gift'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ExclamationSign = {ctor: 'ExclamationSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ResizeSmall = {ctor: 'ResizeSmall'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ResizeFull = {ctor: 'ResizeFull'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ShareAlt = {ctor: 'ShareAlt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ArrowDown = {ctor: 'ArrowDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ArrowUp = {ctor: 'ArrowUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ArrowRight = {ctor: 'ArrowRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ArrowLeft = {ctor: 'ArrowLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$BanCircle = {ctor: 'BanCircle'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$OkCircle = {ctor: 'OkCircle'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$RemoveCircle = {ctor: 'RemoveCircle'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Screenshot = {ctor: 'Screenshot'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$InfoSign = {ctor: 'InfoSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$QuestionSign = {ctor: 'QuestionSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$OkSign = {ctor: 'OkSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$RemoveSign = {ctor: 'RemoveSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$MinusSign = {ctor: 'MinusSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$PlusSign = {ctor: 'PlusSign'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ChevronRight = {ctor: 'ChevronRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ChevronLeft = {ctor: 'ChevronLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Eject = {ctor: 'Eject'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$StepForward = {ctor: 'StepForward'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FastForward = {ctor: 'FastForward'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Forward = {ctor: 'Forward'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Stop = {ctor: 'Stop'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Pause = {ctor: 'Pause'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Play = {ctor: 'Play'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Backward = {ctor: 'Backward'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FastBackward = {ctor: 'FastBackward'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$StepBackward = {ctor: 'StepBackward'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Move = {ctor: 'Move'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Check = {ctor: 'Check'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Share = {ctor: 'Share'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Edit = {ctor: 'Edit'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Tint = {ctor: 'Tint'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Adjust = {ctor: 'Adjust'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$MapMarker = {ctor: 'MapMarker'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Picture = {ctor: 'Picture'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$FacetimeVideo = {ctor: 'FacetimeVideo'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$IndentRight = {ctor: 'IndentRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$IndentLeft = {ctor: 'IndentLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$List = {ctor: 'List'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$AlignJustify = {ctor: 'AlignJustify'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$AlignRight = {ctor: 'AlignRight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$AlignCenter = {ctor: 'AlignCenter'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$AlignLeft = {ctor: 'AlignLeft'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TextWidth = {ctor: 'TextWidth'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$TextHeight = {ctor: 'TextHeight'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Italic = {ctor: 'Italic'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Bold = {ctor: 'Bold'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Font = {ctor: 'Font'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Camera = {ctor: 'Camera'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Print = {ctor: 'Print'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Bookmark = {ctor: 'Bookmark'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Book = {ctor: 'Book'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Tags = {ctor: 'Tags'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Tag = {ctor: 'Tag'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Barcode = {ctor: 'Barcode'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Qrcode = {ctor: 'Qrcode'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$VolumeUp = {ctor: 'VolumeUp'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$VolumeDown = {ctor: 'VolumeDown'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$VolumeOff = {ctor: 'VolumeOff'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Headphones = {ctor: 'Headphones'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Flag = {ctor: 'Flag'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Lock = {ctor: 'Lock'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ListAlt = {ctor: 'ListAlt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Refresh = {ctor: 'Refresh'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Repeat = {ctor: 'Repeat'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$PlayCircle = {ctor: 'PlayCircle'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Inbox = {ctor: 'Inbox'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Upload = {ctor: 'Upload'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Download = {ctor: 'Download'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$DownloadAlt = {ctor: 'DownloadAlt'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Road = {ctor: 'Road'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Time = {ctor: 'Time'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$File = {ctor: 'File'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Home = {ctor: 'Home'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Trash = {ctor: 'Trash'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Cog = {ctor: 'Cog'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Signal = {ctor: 'Signal'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Off = {ctor: 'Off'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ZoomOut = {ctor: 'ZoomOut'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ZoomIn = {ctor: 'ZoomIn'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Remove = {ctor: 'Remove'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Ok = {ctor: 'Ok'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ThList = {ctor: 'ThList'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Th = {ctor: 'Th'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$ThLarge = {ctor: 'ThLarge'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Film = {ctor: 'Film'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$User = {ctor: 'User'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$StarEmpty = {ctor: 'StarEmpty'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Star = {ctor: 'Star'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Heart = {ctor: 'Heart'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Search = {ctor: 'Search'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Music = {ctor: 'Music'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Glass = {ctor: 'Glass'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Pencil = {ctor: 'Pencil'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Envelope = {ctor: 'Envelope'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Cloud = {ctor: 'Cloud'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Minus = {ctor: 'Minus'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Eur = {ctor: 'Eur'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Euro = {ctor: 'Euro'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Plus = {ctor: 'Plus'}; +var _krisajenkins$elm_exts$Exts_Html_Bootstrap_Glyphicons$Asterisk = {ctor: 'Asterisk'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Html-Bootstrap.elmi new file mode 100644 index 0000000000000000000000000000000000000000..c962ddb972183554c06445e2e4c63d2dbf1552c0 GIT binary patch literal 7006 zcmeHMOLN*V5EijbfTWM<^l#+SV{Roh?IF!%fa$ekg8(J6#mF*`e;>g5WXY|ky+Fnu zxFD@o+FkEUyCTH-eR5`mT)#+`hR-y4VM(gjI+VvZbfYl;fIYobZ8=RBlq!I_6OpKp zB~$|P-azho#-;#!QmirV&V-D=OOY)B323}jTg-ZDE$#%*V#5*%R%}WI5H6QuDOLr| z&VRx2B zza1|mr39ECpK@jfOw!5jAW-r3CT}btXE0>*1-@OoFO(9o#_}KN3@hYX16%sP-49bX zfj$5Y1~kg%B~<^1iXk~Tv|+ukN=X)Fik6S_A6N~z)nr6JrNPD#7Iw=bqjI$*Nd!ND1?JWVTt&n)2O&kFWjDI5NbG5!M zu=9Uh$J2ZLZ-qPA+UWL$P^pq3ETqbqY|A??2aY!!tn#?@swB>R=O#C7bKjiAt8D;@Xur zyy{L_7|!MILml@;8}fzOudBZDe0L(gZTZ6JPlPmgKmyMM`9YX8PJ>uBD zQ&bp-Q?=Jyz6>h8ko1KS+G$O@T!G6(WRJ)4>Uot|e_p+gv9rzXrCa{{-BpL}D_? z)qEy-Yzv5nl&E(uQcHyG_qyrqSjZ@gt@MIdkQudw1S2I9hJ`ETjk6U+c_DIjIt~W7 z#PP63j$co(iZ~jeaW5fVseB+`xLOoaN?fhYYar&fhbSrK`cp1YCB_()H4N7V*8I`t zRzW;MUNL(EroKmOR@bx|HgRc(Z`(rOXeF&BAr2oMkc4=*0MDHuJdF+jYUtt?pCQqpcw|Gj8?V_>oD$JvM+&s3*YoY*IRQor4DDHoh!7l{|Rze zxPr60z>n5BX+wFGkqk*|4;kkpHpjk`ijE1A-qLU-;;aWZ6q+>qk$yX{8TWRcITdq1@U&}mx;gY_yN*mEN4v5$W?{s2 zMOu?s>y>V-J&oeHNC7tP8Vm?jH7GIR1yVAwII;79lv_f9jqiU0BvVSTZVPa!F|k!- z=~#gJ2E~=JQQ2d9;R3{TU17@Mlm(EbLVwe>{hEgH3PN&q(}d(S54-hVU>kO;epJ`s zZ}AaWy7=D44Marw<;(}PakTrAu|_$^dh%yLo`GY@WeWCcZb${1V5~uFZeNBsy^!Zd zHJP2XC?utP?^lJI%ud{!yA$Xt9pdr8qCsv kNnV)#ef+3I7=l~*U!fG226#yb)h@2C;Yq!t9}9To2e@Ml*6=yuC!vNzwZDWZfZ6`?``1c~@6%xyE(O%NseR;d@ zZA*yv+<6fpH)|~n`{dPHRL0d(F4dTCEaD;Vj1;r^YPl;RL#xa*F1U5)z@5nhGa?5G zvhkE>ZRsFjrccLi^hFr(;}U(gN(S_OxcHTAGadlbnPm2()+%Tk=A%bdT!JjxEMSl4 zyyTl8nasIqWvC)qSS>1OhqidxHWD*O7+^9X01Oz3U=;CG9}yP;j`w7PXRgE`-G2p= zb@S3y&kj!ZGP<`rd0A_r1w@fDrS~2U5r#dkzl63eljEYswgA0)Ka{3jC7tQI;o5Ft xKA=Ah$=Mz>uXQ-0w?r3ombam}p|eA1GK%rL?AxME>5ybTM5I^s<@R*~#pdkmzkA zM95|^!m=k=bl%&dB;wW+6o*P%kcsF@WVp2`or^$#S?PQp6Ga%Aw4QbB1BX0{eGBabL6bk29km%x^4uL$TbA`D<8JSI)nfK literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Int.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Int.elmo new file mode 100644 index 0000000..e2962ee --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Int.elmo @@ -0,0 +1,4 @@ +var _krisajenkins$elm_exts$Exts_Int$floorBy = F2( + function (factor, n) { + return _elm_lang$core$Native_Utils.eq(factor, 0) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just(factor * ((n / factor) | 0)); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Decode.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Decode.elmi new file mode 100644 index 0000000000000000000000000000000000000000..2010ba4def1f0cfbf9c5b79831629ae2dedec94d GIT binary patch literal 1490 zcmd5+%TB{E5OkUc1@%<%8~i|zB^*E?5Us@7Nlh?$%626B_dvSS+7?yA0f}C=yIIeS zcQ#?n`OTe-v0164=I^2@WuxiYR8;kq_%O&LoVnCS$)>n1n)W*`E8di7Viy~cw;QpR zwLm|WQf~I8^NuSmUZi=WrWwV6VzT5~=0HU?vM^AKQ<3!r9h*>$?sVG#DjgJ2hGWsa z)W)mD4}6X-wedbXn&qDW=FCCHxmw;=r zV2~Pc7D66#E_moT*+96KY2gINhn4uU8{>}hRzVPmkB|OrXN1DFM!|yGw%-14?c2ZB zIUhFurtZx4QIWkE86&^PT>uktw$(`jADAX?zjZ(f`0rTVg>|!u&$}ndtQ{T42dMGu bWRdOe`{Q@&uh_@oLZf4slN|GoEIfoy#!|si literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Decode.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Decode.elmo new file mode 100644 index 0000000..7553339 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Decode.elmo @@ -0,0 +1,25 @@ +var _krisajenkins$elm_exts$Exts_Json_Decode$parseWith = F2( + function (f, input) { + var _p0 = f(input); + if (_p0.ctor === 'Err') { + return _elm_lang$core$Json_Decode$fail(_p0._0); + } else { + return _elm_lang$core$Json_Decode$succeed(_p0._0); + } + }); +var _krisajenkins$elm_exts$Exts_Json_Decode$decodeDate = A2( + _elm_lang$core$Json_Decode$andThen, + _krisajenkins$elm_exts$Exts_Json_Decode$parseWith(_elm_lang$core$Date$fromString), + _elm_lang$core$Json_Decode$string); +var _krisajenkins$elm_exts$Exts_Json_Decode$decodeTime = A2(_elm_lang$core$Json_Decode$map, _elm_lang$core$Date$fromTime, _elm_lang$core$Json_Decode$float); +var _krisajenkins$elm_exts$Exts_Json_Decode$parseEmptyOrString = function (string) { + return _elm_lang$core$String$isEmpty( + _elm_lang$core$String$trim(string)) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just(string); +}; +var _krisajenkins$elm_exts$Exts_Json_Decode$stringIgnoringBlanks = A2( + _elm_lang$core$Json_Decode$andThen, + function (maybeString) { + return _elm_lang$core$Json_Decode$succeed( + A2(_elm_lang$core$Maybe$andThen, _krisajenkins$elm_exts$Exts_Json_Decode$parseEmptyOrString, maybeString)); + }, + _elm_lang$core$Json_Decode$maybe(_elm_lang$core$Json_Decode$string)); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Encode.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Json-Encode.elmi new file mode 100644 index 0000000000000000000000000000000000000000..673a9462393de9c4b05cee847fdf5eae4ba39990 GIT binary patch literal 1520 zcmcIk!A`^=6oiGX8>1Kh!;8l~>UuGn7;C(m*A@*fZ8xPg`uFOVp)AQ}HNjqh$9prw zlm}xw-`UQJv6FSDExoB`tsCq17RuD;>Z8Y6phj5LW1jWH#;6M{Wu;5(ow^`*V|Gba zmq0^wzEZ{T8l}qB1T%Ac^2W9epst&;tyElft1ZYq{2hH3apL0MQ2)|)wF3Y}92Zx0 zbtoktibzKGpzL5`AtLvtL0gvhoo?c@&mVsrb(j+L%Oyh@Cnlhn$?(im#=!*OkN*pW z$7Ne@sH4KD8DiUOV94u~W!pg>WbFSp^CvRHcRJAcds<-eD>$%+_bQxwkiY=cq*gpS zKlTtf0$ML6iSK{2C%B`*l>fWR(GvfZfR9sJGp0*eqy?V3?dW;iy?75j4JUu7#N4it G9U5KQfZDuUpD_yZoRcv2AS4{YpOqG>8kg8KI=WUY;Y7crM5vy+{fB#d>| zxU*wycx;4*1FEA?+VxVD)dVkw_B}c?Dugzmc9@|#BPzoC9H9}a+|~{mxEi>cWT3^4 z<`Ejtk=xRvM$5Z~hs7(na`eD-Ey3*TrgAvB^zm?372hbi<=*sUgW5{pNRpdJPLCUJ z?MafokhG>#MnMB$A=zV{fGy)I!OeZS>xiUWP45>Xj4kk~6)$8B6rwL{RetIRtqb=1 Unf$Yxx4-mzW%yqj_X2IX0aWE~dH?_b literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-LatLng.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-LatLng.elmo new file mode 100644 index 0000000..bc86a15 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-LatLng.elmo @@ -0,0 +1,27 @@ +var _krisajenkins$elm_exts$Exts_LatLng$bearingTo = F2( + function (a, b) { + var dlon = _elm_lang$core$Basics$degrees(b.longitude) - _elm_lang$core$Basics$degrees(a.longitude); + var y = _elm_lang$core$Basics$sin(dlon) * _elm_lang$core$Basics$cos( + _elm_lang$core$Basics$degrees(b.latitude)); + var x = (_elm_lang$core$Basics$cos( + _elm_lang$core$Basics$degrees(a.latitude)) * _elm_lang$core$Basics$sin( + _elm_lang$core$Basics$degrees(b.latitude))) - ((_elm_lang$core$Basics$sin( + _elm_lang$core$Basics$degrees(a.latitude)) * _elm_lang$core$Basics$cos( + _elm_lang$core$Basics$degrees(b.latitude))) * _elm_lang$core$Basics$cos(dlon)); + var bearing = A2(_elm_lang$core$Basics$atan2, y, x) * (180 / _elm_lang$core$Basics$pi); + return bearing; + }); +var _krisajenkins$elm_exts$Exts_LatLng$distanceBetween = F2( + function (a, b) { + var dlng = _elm_lang$core$Basics$degrees(b.longitude - a.longitude); + var dlat = _elm_lang$core$Basics$degrees(b.latitude - a.latitude); + var v1 = (_elm_lang$core$Basics$sin(dlat / 2) * _elm_lang$core$Basics$sin(dlat / 2)) + (((_elm_lang$core$Basics$cos( + _elm_lang$core$Basics$degrees(a.latitude)) * _elm_lang$core$Basics$cos( + _elm_lang$core$Basics$degrees(b.latitude))) * _elm_lang$core$Basics$sin(dlng / 2)) * _elm_lang$core$Basics$sin(dlng / 2)); + var v2 = 2 * A2( + _elm_lang$core$Basics$atan2, + _elm_lang$core$Basics$sqrt(v1), + _elm_lang$core$Basics$sqrt(1 - v1)); + var earthRadius = 6371; + return earthRadius * v2; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-List.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-List.elmi new file mode 100644 index 0000000000000000000000000000000000000000..ab19f64a850bd73405be038c1e8450dca8d59954 GIT binary patch literal 2339 zcmcImOHRWu5KU-OXv9b29$bJO1r|sk5aj}Ha9dN`DUKtxw)E}1ON+6m?2imo-}3_fYTsN@pTv7l;B#~a9_lF2!zx{%PE z3$mHgiLcIPOqKeH=zIaoMA1@17*>*fRup1J*Cf|`^DM1uB*>bHO0<#-CLPU%agWVA zy-|t)E0n`ADOrv>p-u1Tw3>VV$sNmq@W`ws_YFxuhe{rqt;>dg`ewxofAYeKo)tHU9?abGisFH+72PUuKq0a5D;>41hz9m+g7=v(`1a~>d-JDlAx0Pruzkuki}=d&Lac})(|Z5?F|Q6TN7x7HpYexv&r6Atqt>+qD8B^t55yXfyURDoa?k)ZH~#@m$$g!1 P_Xq4-?d)%fmig~5@0|;v literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-List.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-List.elmo new file mode 100644 index 0000000..d0cacb8 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-List.elmo @@ -0,0 +1,145 @@ +var _krisajenkins$elm_exts$Exts_List$minimumBy = F2( + function (toComparable, list) { + var _p0 = list; + if (_p0.ctor === '::') { + return _elm_lang$core$Maybe$Just( + A3( + _elm_lang$core$List$foldl, + _krisajenkins$elm_exts$Exts_Basics$minBy(toComparable), + _p0._0, + _p0._1)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _krisajenkins$elm_exts$Exts_List$maximumBy = F2( + function (toComparable, list) { + var _p1 = list; + if (_p1.ctor === '::') { + return _elm_lang$core$Maybe$Just( + A3( + _elm_lang$core$List$foldl, + _krisajenkins$elm_exts$Exts_Basics$maxBy(toComparable), + _p1._0, + _p1._1)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _krisajenkins$elm_exts$Exts_List$exactlyOne = function (xs) { + var _p2 = xs; + if (_p2.ctor === '[]') { + return _elm_lang$core$Result$Err('Expected a list with one item. Got an empty list.'); + } else { + if (_p2._1.ctor === '[]') { + return _elm_lang$core$Result$Ok(_p2._0); + } else { + return _elm_lang$core$Result$Err( + A2( + _elm_lang$core$Basics_ops['++'], + 'Expected a list with one item. Got ', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString( + _elm_lang$core$List$length(_p2._1)), + ' items.'))); + } + } +}; +var _krisajenkins$elm_exts$Exts_List$unique = function () { + var f = F2( + function (x, _p3) { + var _p4 = _p3; + var _p6 = _p4._0; + var _p5 = _p4._1; + return A2(_elm_lang$core$Set$member, x, _p6) ? {ctor: '_Tuple2', _0: _p6, _1: _p5} : { + ctor: '_Tuple2', + _0: A2(_elm_lang$core$Set$insert, x, _p6), + _1: {ctor: '::', _0: x, _1: _p5} + }; + }); + return function (_p7) { + return _elm_lang$core$List$reverse( + _elm_lang$core$Tuple$second( + A3( + _elm_lang$core$List$foldl, + f, + { + ctor: '_Tuple2', + _0: _elm_lang$core$Set$empty, + _1: {ctor: '[]'} + }, + _p7))); + }; +}(); +var _krisajenkins$elm_exts$Exts_List$rest = function (_p8) { + return A2( + _elm_lang$core$Maybe$withDefault, + {ctor: '[]'}, + _elm_lang$core$List$tail(_p8)); +}; +var _krisajenkins$elm_exts$Exts_List$firstMatch = function (predicate) { + return A2( + _elm_lang$core$List$foldl, + F2( + function (item, acc) { + var _p9 = acc; + if (_p9.ctor === 'Just') { + return acc; + } else { + return predicate(item) ? _elm_lang$core$Maybe$Just(item) : _elm_lang$core$Maybe$Nothing; + } + }), + _elm_lang$core$Maybe$Nothing); +}; +var _krisajenkins$elm_exts$Exts_List$singleton = function (x) { + return { + ctor: '::', + _0: x, + _1: {ctor: '[]'} + }; +}; +var _krisajenkins$elm_exts$Exts_List$maybeSingleton = function (_p10) { + return A2( + _elm_lang$core$Maybe$withDefault, + {ctor: '[]'}, + A2(_elm_lang$core$Maybe$map, _krisajenkins$elm_exts$Exts_List$singleton, _p10)); +}; +var _krisajenkins$elm_exts$Exts_List$mergeBy = F3( + function (f, xs, ys) { + var reducer = F2( + function (v, acc) { + return A3( + _elm_lang$core$Dict$insert, + f(v), + v, + acc); + }); + return _elm_lang$core$Dict$values( + A3( + _elm_lang$core$List$foldl, + reducer, + _elm_lang$core$Dict$empty, + A2(_elm_lang$core$Basics_ops['++'], xs, ys))); + }); +var _krisajenkins$elm_exts$Exts_List$chunkInternal = F3( + function (n, xs, accum) { + return _elm_lang$core$List$isEmpty(xs) ? _elm_lang$trampoline$Trampoline$done( + _elm_lang$core$Array$toList(accum)) : _elm_lang$trampoline$Trampoline$jump( + function (_p11) { + var _p12 = _p11; + return A3( + _krisajenkins$elm_exts$Exts_List$chunkInternal, + n, + A2(_elm_lang$core$List$drop, n, xs), + A2( + _elm_lang$core$Array$push, + A2(_elm_lang$core$List$take, n, xs), + accum)); + }); + }); +var _krisajenkins$elm_exts$Exts_List$chunk = F2( + function (n, xs) { + return (_elm_lang$core$Native_Utils.cmp(n, 1) < 0) ? _krisajenkins$elm_exts$Exts_List$singleton(xs) : _elm_lang$trampoline$Trampoline$evaluate( + A3(_krisajenkins$elm_exts$Exts_List$chunkInternal, n, xs, _elm_lang$core$Array$empty)); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Maybe.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Maybe.elmi new file mode 100644 index 0000000000000000000000000000000000000000..d46d0fd30606c5917a3b881e9bfcfdc27d17f85f GIT binary patch literal 2602 zcmc&$$#TLl40Rw0&~oa3^wJ|o%Bj7`BoG=S=6*P7Fm8Rz7*t3?1^Q4*VGE)MAna`+Q{M^nkeVriGVc9 z`F<~o734|E)x*&Mz%1OBvcU4R-MkQM-elUx_=9J1#Z?znrJD}K=SFCVs4T?OngB0o z3}}q!yp}0^LmMqb(jWmS!+WXIgf41B?_rLgGp^QUm6LuzV_!eK%|XLilVy|i(Bl_T z8!iw?yi}Fp9NOr$*=JyBig0E#27`dJA$&6{L1Xc&0pWH|^30au0H|#>Wn33Yn3fgd zgpI|mB?K@D_!&>efPzDndI-VrH!sT!WSBPiE0@$aoz(R-(X;e$-VmG}f(OjReV8d7 zjlO~0yEt}}Yj)i+VR~is)?N%Z#E6bL;D|oJwR2#Lu2#Lodlm0K=R;e=o4X=CB}=an z;E#Fgc{h6x5okZ))_&advX3hA$>`~QHPvOkBOZA407;F|`LQsk(W`c|;4hA_{eSrf J$HapfegFv-AFlua literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Maybe.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Maybe.elmo new file mode 100644 index 0000000..33a6188 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Maybe.elmo @@ -0,0 +1,73 @@ +var _krisajenkins$elm_exts$Exts_Maybe$oneOf = A2( + _elm_lang$core$List$foldl, + F2( + function (x, acc) { + return (!_elm_lang$core$Native_Utils.eq(acc, _elm_lang$core$Maybe$Nothing)) ? acc : x; + }), + _elm_lang$core$Maybe$Nothing); +var _krisajenkins$elm_exts$Exts_Maybe$when = F2( + function (test, value) { + return test ? _elm_lang$core$Maybe$Just(value) : _elm_lang$core$Maybe$Nothing; + }); +var _krisajenkins$elm_exts$Exts_Maybe$validate = F2( + function (predicate, value) { + return predicate(value) ? _elm_lang$core$Maybe$Just(value) : _elm_lang$core$Maybe$Nothing; + }); +var _krisajenkins$elm_exts$Exts_Maybe$matches = function (predicate) { + return _elm_lang$core$Maybe$andThen( + _krisajenkins$elm_exts$Exts_Maybe$validate(predicate)); +}; +var _krisajenkins$elm_exts$Exts_Maybe$maybeDefault = F2( + function ($default, x) { + var _p0 = x; + if (_p0.ctor === 'Just') { + return _elm_lang$core$Maybe$Just(_p0._0); + } else { + return _elm_lang$core$Maybe$Just($default); + } + }); +var _krisajenkins$elm_exts$Exts_Maybe$join = F3( + function (f, left, right) { + var _p1 = {ctor: '_Tuple2', _0: left, _1: right}; + if (((_p1.ctor === '_Tuple2') && (_p1._0.ctor === 'Just')) && (_p1._1.ctor === 'Just')) { + return _elm_lang$core$Maybe$Just( + A2(f, _p1._0._0, _p1._1._0)); + } else { + return _elm_lang$core$Maybe$Nothing; + } + }); +var _krisajenkins$elm_exts$Exts_Maybe$catMaybes = _elm_lang$core$List$filterMap(_elm_lang$core$Basics$identity); +var _krisajenkins$elm_exts$Exts_Maybe$mappend = F2( + function (a, b) { + var _p2 = {ctor: '_Tuple2', _0: a, _1: b}; + if (_p2._0.ctor === 'Nothing') { + return _elm_lang$core$Maybe$Nothing; + } else { + if (_p2._1.ctor === 'Nothing') { + return _elm_lang$core$Maybe$Nothing; + } else { + return _elm_lang$core$Maybe$Just( + {ctor: '_Tuple2', _0: _p2._0._0, _1: _p2._1._0}); + } + } + }); +var _krisajenkins$elm_exts$Exts_Maybe$maybe = F2( + function ($default, f) { + return function (_p3) { + return A2( + _elm_lang$core$Maybe$withDefault, + $default, + A2(_elm_lang$core$Maybe$map, f, _p3)); + }; + }); +var _krisajenkins$elm_exts$Exts_Maybe$isJust = function (x) { + var _p4 = x; + if (_p4.ctor === 'Just') { + return true; + } else { + return false; + } +}; +var _krisajenkins$elm_exts$Exts_Maybe$isNothing = function (_p5) { + return !_krisajenkins$elm_exts$Exts_Maybe$isJust(_p5); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Result.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Result.elmi new file mode 100644 index 0000000000000000000000000000000000000000..6d684f7d1e32c122440167bb0dbe2e734ef52110 GIT binary patch literal 1749 zcmd5+Jx{|h5Vf1H3Ni6NSQtA7*gzo4j-29vi5*9FBEi3h7C*bTgiwbRvRvNzeE06d zM@aOYMTn5o&Irric;AWMy0ayh>YTriz$NZfiVd|MUx9OB?>c}&*lS~e%GPKV4y!HP zJKlO4c>nCoPn@JqmNm0tgZR)ESG<{C64U%f*fG%+x9p?giE?=_+1P5MoPObCs?RPJ zX#Hrio|?pa`M~WYQzGShG@?%_7mw2*L9YUx)rufd%1DOTBuX$?{A%F*`pRbuT;BCp zGS4gDXahR1iSvn(cSJeNDLc%4)S(Da?-Gi=4@H|t*8d`&&TKbX;YW@6-d(iV&I=y@6tkq}6XPr)#vR9Vx{BSR9n4Nz*?frMGoYV? z)^b!`wu8;vJ1KRtEf69N9EJS3kobtcPXhF^>i?}PUp-0x3Q8#C&(c=Y50E&&9SD?M KwwZVbxjh2oFNQ4u literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Set.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Set.elmo new file mode 100644 index 0000000..c73eab0 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Set.elmo @@ -0,0 +1,20 @@ +var _krisajenkins$elm_exts$Exts_Set$toggle = F2( + function (key, set) { + return A2(_elm_lang$core$Set$member, key, set) ? A2(_elm_lang$core$Set$remove, key, set) : A2(_elm_lang$core$Set$insert, key, set); + }); +var _krisajenkins$elm_exts$Exts_Set$uniqueItems = function (accessor) { + return function (_p0) { + return _elm_lang$core$Set$fromList( + A2(_elm_lang$core$List$filterMap, accessor, _p0)); + }; +}; +var _krisajenkins$elm_exts$Exts_Set$select = F2( + function (f, keys) { + return _elm_lang$core$List$filter( + function (x) { + return A2( + _elm_lang$core$Set$member, + f(x), + keys); + }); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-String.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-String.elmi new file mode 100644 index 0000000000000000000000000000000000000000..d83be25ba530f2987c30a00f12ed8e36ad84df2c GIT binary patch literal 530 zcmaiwO%8%U421^}LJTYK;RRT#OHGJ)fkBHInE^9D25;}C)l6M5o2K8qzPwh5=xw4- zh-$FP$p?&s8Xf+Xpv@L$Pkll&l?5}sps~=a8Q~f$iHedHs+19aieq^qNHp0WHS z-yJYmHd^|AvIcpImGf+GZcCCjbj-atgA1AmDOzvU$Rp>M@YEEKVx)B~X#GTrjJSvv V{3#X%7%)Ef*OiiSz*0jbm7skfA)$u`^5^X^yiw9FyH5zukA=FWB zW3+fGuRmx}IETHryi9Oso7;h-Ah!cQ=OA3c=-mDit`x%U5`}!`!-#aP^8#VIoKkKSVF;fWQhjnS}7B$7Pih)30m)R-S=1G2NfUNK>f9OI&Z5ugtn zc_M=PZ3GDsoNF=Zeg-yYp`D@TthRvQUPNMOY1S>P>>LIr?tp>sG{u#iT4s)x!KfJt mi6|nrne(8~-ha_>YOn{rpNEi1Xy!KkpVo`>kM)AG@$dzK+K@y5 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Tuple.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Tuple.elmo new file mode 100644 index 0000000..fc6c808 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Tuple.elmo @@ -0,0 +1,72 @@ +var _krisajenkins$elm_exts$Exts_Tuple$onSecond = F2( + function (f, _p0) { + var _p1 = _p0; + var _p2 = _p1._0; + return { + ctor: '_Tuple2', + _0: _p2, + _1: A2(f, _p2, _p1._1) + }; + }); +var _krisajenkins$elm_exts$Exts_Tuple$onFirst = F2( + function (f, _p3) { + var _p4 = _p3; + var _p5 = _p4._1; + return { + ctor: '_Tuple2', + _0: A2(f, _p4._0, _p5), + _1: _p5 + }; + }); +var _krisajenkins$elm_exts$Exts_Tuple$fork = F3( + function (fX, fY, v) { + return { + ctor: '_Tuple2', + _0: fX(v), + _1: fY(v) + }; + }); +var _krisajenkins$elm_exts$Exts_Tuple$pair = F3( + function (f1, f2, _p6) { + var _p7 = _p6; + return { + ctor: '_Tuple2', + _0: f1(_p7._0), + _1: f2(_p7._1) + }; + }); +var _krisajenkins$elm_exts$Exts_Tuple$both = F2( + function (f, _p8) { + var _p9 = _p8; + return { + ctor: '_Tuple2', + _0: f(_p9._0), + _1: f(_p9._1) + }; + }); +var _krisajenkins$elm_exts$Exts_Tuple$mapSecond = F2( + function (f, _p10) { + var _p11 = _p10; + return { + ctor: '_Tuple2', + _0: _p11._0, + _1: f(_p11._1) + }; + }); +var _krisajenkins$elm_exts$Exts_Tuple$mapFirst = F2( + function (f, _p12) { + var _p13 = _p12; + return { + ctor: '_Tuple2', + _0: f(_p13._0), + _1: _p13._1 + }; + }); +var _krisajenkins$elm_exts$Exts_Tuple$indexedPair = F2( + function (f, x) { + return { + ctor: '_Tuple2', + _0: f(x), + _1: x + }; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Validation.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Validation.elmi new file mode 100644 index 0000000000000000000000000000000000000000..8da77b26600fb0c27a6b84dedaa32929338e77dd GIT binary patch literal 3111 zcmeHJT~ER=6m1#9i9Y#1`~y6qzG-5>_}<|aE8T|OmO$cdnze*fc20}R%G@j*-wP!lL{(^@#9}^IOGus90X`E= zFSXS4U=?{$4VB1eP#k5VnmiGVu$VF-6;}HzX+%?67}be+!5=7c7E9%!}IX_;!QAHPl8O99@+~!yvrsP6`cYu*Z+amn;yc4To`( zr;Y0nc4!KaT(k=hvP~IVvlQd=C#?qZx>v6K`ljn-ksE40^kIZbBN%IPyneUuCHJ8b6Y<9A*s7qs_Vffhs(y{<=sA={GvD@E7Ky!p4kWBQ#ms}f zl3;%e{tyY)6@i(VI@Jz`q62Lu$Q7o=%w#>G7WqJa4 MT(&}>g-;Rh8+ZM9K>z>% literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Validation.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Validation.elmo new file mode 100644 index 0000000..2f13826 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/Exts-Validation.elmo @@ -0,0 +1,45 @@ +var _krisajenkins$elm_exts$Exts_Validation$emailRegex = _elm_lang$core$Regex$caseInsensitive( + _elm_lang$core$Regex$regex('^\\S+@\\S+\\.\\S+$')); +var _krisajenkins$elm_exts$Exts_Validation$matches = F3( + function (expression, err, str) { + var _p0 = str; + if (_p0.ctor === 'Nothing') { + return _elm_lang$core$Result$Err(err); + } else { + var _p1 = _p0._0; + return A2(_elm_lang$core$Regex$contains, expression, _p1) ? _elm_lang$core$Result$Ok(_p1) : _elm_lang$core$Result$Err(err); + } + }); +var _krisajenkins$elm_exts$Exts_Validation$email = _krisajenkins$elm_exts$Exts_Validation$matches(_krisajenkins$elm_exts$Exts_Validation$emailRegex); +var _krisajenkins$elm_exts$Exts_Validation$notBlank = F2( + function (err, str) { + var _p2 = str; + if (_p2.ctor === 'Nothing') { + return _elm_lang$core$Result$Err(err); + } else { + if (_p2._0 === '') { + return _elm_lang$core$Result$Err(err); + } else { + return _elm_lang$core$Result$Ok(_p2._0); + } + } + }); +var _krisajenkins$elm_exts$Exts_Validation$required = function (err) { + return function (_p3) { + return A2( + _elm_lang$core$Maybe$withDefault, + _elm_lang$core$Result$Err(err), + A2(_elm_lang$core$Maybe$map, _elm_lang$core$Result$Ok, _p3)); + }; +}; +var _krisajenkins$elm_exts$Exts_Validation$apply = F2( + function (f, aResult) { + return A2( + _elm_lang$core$Result$andThen, + function (continuation) { + return A2(_elm_lang$core$Result$map, continuation, aResult); + }, + f); + }); +var _krisajenkins$elm_exts$Exts_Validation_ops = _krisajenkins$elm_exts$Exts_Validation_ops || {}; +_krisajenkins$elm_exts$Exts_Validation_ops['|:'] = _krisajenkins$elm_exts$Exts_Validation$apply; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/elm-exts/26.1.1/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..1cd4ad5acbf2084ec22b3c784c1b4ed16f4d83eb GIT binary patch literal 28566 zcmeI5O>^5e5Qf#7QXM7jOpfh;h&k?|=lI)c-I+}6@g1URhc!iNNGfCh`|tw`0iYqm zz`B*{%^{5Jpy7E zANl9tWc7E)2Svdi`8N(5p|V=u-i8Yn-Lt#64CS8}!Ve06|6^}|Z$B)HC~U;SR%NgL zHdpd#=3B1Ob}MDs9W*=2iLqrmZWt(~L! zjmJP5WiOXAF6-lmATQ%Wb%!HoUUXiC1dOSN4FMQx$6N*(l*rFVqai$#pTj~BSS)Jb zh&_C~oSz5BtO9x-ID2^`g5=}x5PV$jl#hqw&0eC81uH1J=;po&szy9)U35_|ooU6m zr@JR3tqKx%Fp?3hfSqVTw4hu>lsSUqB!Z;VBSxu3Hi;Edr@Uems#^?aArx7>n#kfb z%^ASLJ+f$3kZ3_w3m)jH4^c*;>SS#gQ_K%m(n|s^OUC~vf7m@;W>J;o8J|)o&Xo%g zB41a%v-&gg#ao!B^ z5Y8$Y%w?GXo$;6WE`H$hK0;JRt&KS3^n}J{rVUx?^@c$^+!5tXS{aSggR0(ApDn8x z&M;g!2Sp7)!j&EpH-F|m=%ECQZ5BGf&h?h-weT5xcfp^f2umj?S(M+zrhZ$f0*k34 zJj@069Vxy*bSDs;mmO;NAbrk9$H6346v3Z3|q1`^&iM!O21g zMqbwGFBm;#0#q}lC^BoUz`aXIBN zuaS@yu9S&hM6cFwsk~mB!4wh^y@tZ8$;r1k6I=1;exT~KkkEuthkLU3at3!Cugl;p zLNAzMa_H4t8!dETZIpG?vFWK=08psf_t`=f`b=5tFnK6z<>8YF(J)1~D=2&tEa$5t z{`iW`#A_>OepGFxkf2K0>S$zhR38vWFM(Jfj$ZbH6wzYwH1h7{UIN+ql);gykIpEn zHINuY2d4ORQ6B<1l+o3OF@+0YB|Tj5iH>!x&8|m18G0Dwd-sg4kqo>12+8q{JA@Y4 zgmL$M_Y3f=?BlJ^0-w=3ItpRox>Rs)z)yfPoe~=aoU-li3Aj#cqX4&h8^&i*Qvjz} z%taOOyK@;sDCr|Zm7`$*Q01t>Wc|xTN?6LbD|~}i%iD>Q3szl->r&iriw1a%uC>`|8njyWbNL9k`&swq+9)I+f6phk%do%@qg~M@ zzXyzc_#Q9dkjK!+Y-=K^X?@ylzR1%gi~0C~t${`G8J^QC{a^Sr4eib?JgZY3-W&(P zB)}^^piKZB*)FpZK&oqPAO4k)!Tsgswmyus0AO5;qIAn;gvA7=yAF)Wj<6Bkb zuOKT_hT1(V>|~IDL0KWhV9FER6OV<;;CoS(w&(d!*&O^ZMjJ13?c?y(J0;v39eXq z&!Z^!!gV8pL<@|gL_d8l@+dChJ_Vl`Tegp%PBMp@ua6Gli||GG68KW;+3tnc_P-)Q z0vOd%l==yLfQ*gmD2+u-HBPXSz9r(aWEcw`TX*aH^qQr~4U_JTbbs+`C57bg7*!R# Z8{6=5ecG}a^in#=$LVgu*?)(i(Ra|CF?|34 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmi new file mode 100644 index 0000000000000000000000000000000000000000..0733fc98dbda7886256d54ac0b8c710716834f74 GIT binary patch literal 1114 zcmd^7OAf*y5T#-pQ(bumS02GMF0@NcOzQ=}qQU+QpM|%#QKneBsH<*d!|-_X<_!Zv zowe+o5L)DdOLAvb&MRr|Lcz*fv5Y8UkO^erXtlNR8sfRZJhKNoBKZaM0QF-=_06G9 z4_qn-^N-|7nFG#F1yR>plm-V+E{^wQHbhA^b=1S;-E(Yv2G>Etq%K^GL8=6=+-Cf< zeiUFFgNw}uftW`S2IHvHx@8O!jP7R^Hm{9nQv(ja%@^4HSLh?Hw8tRLBV!kY@!_cX TgCiCH8e-e{A3e4Cb#{9JKH-ZE literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmo new file mode 100644 index 0000000..f1769d8 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData-Infix.elmo @@ -0,0 +1,4 @@ +var _krisajenkins$remotedata$RemoteData_Infix_ops = _krisajenkins$remotedata$RemoteData_Infix_ops || {}; +_krisajenkins$remotedata$RemoteData_Infix_ops['<*>'] = _elm_lang$core$Basics$flip(_krisajenkins$remotedata$RemoteData$andMap); +var _krisajenkins$remotedata$RemoteData_Infix_ops = _krisajenkins$remotedata$RemoteData_Infix_ops || {}; +_krisajenkins$remotedata$RemoteData_Infix_ops['<$>'] = _krisajenkins$remotedata$RemoteData$map; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/krisajenkins/remotedata/4.0.1/RemoteData.elmi new file mode 100644 index 0000000000000000000000000000000000000000..8d7d0967f8490003e029e75de66863d0fe4703d4 GIT binary patch literal 6313 zcmd^DOOw(-5Kb0CSlp9V`7gY9+?$Ax!>(EjRUWMYh9#0@QkjXC|K0%ebx#5)2X{i1 zT*&l1`s>GZ_jC|6e$N}DAh_9-i5A~wzDaUz=SHQ>l#xqegr&T|uF63Zli#G#`^e^Ta+-ta-gn&-Q+R3+BLHDRpG8skA#)cT-9 zqoP(@7TVePtDH}2ZC%;%=wYY8Ey+^)_J7!795H~!;GLst}Q_veo2K{sWP+tA!nQ3W22s2GOgxqDH{F+o`b0=*=C^j zXF_jU`=eP^q_E6OK)k&TuqhNl4|syUD>Se8>jHZ&S%|jE-W9&jyG&Sp=p}~~Iy#it zR!g)0!FRgiPrlq00J>Y%rcQ~vpT;^RVt{i=`R#jJy_%BOZOY; zuqVqBYeVGFE43k-2-)iAFl?6u4W@Lelg!RL9(dcwI~9lX>0tJolHKz7Ji(xnL8Az2 zj@T)V>dmi+PJzu5dV&Bi2>N5CQhQ~b`u;KixzCHsKvb&;FNwQ_Zm=6+k=AgPi96D@6z!-u9ga^bZgLuOFrPT$n`VUAn|M z1wo^s&=`bdSjbv8o_@$u%Ma49`+IUhb}pa^sN2LqeFqC*p(dMm0L<`TTbo*Hu6nK4 z2Pf-dr$qk~AY7C)3r2#l=;A(|5}I}Ir@(r0-R=c#bc9Ls+a?_be#GUnLs$!d|B*%< zR^X9DZ8(HxYKOs^_8)D!Ho4jA zX~gePVu&H`liTD@7@dg$Ci(KmAbu&%5M}b6Pzm)8_tC4h?H&!>_J-(1kHfzsoUG9j zJ$Uc=chTc)z!Z4pgA+f1Q5ij#4-#L<)KN)%fTAa5YyfKf89q{~r%yuhN*Y&&NGV=h zt@^(4$%$`VTZSMvc`3o>jiwPfB`H#XeXOf_we@(&gRpCtBCOv)Q-HDN@MWE=cMP)h q6d=)o1(TucAlykv#@tWo075&<31i2k`z$Bez=sM&WBLDb!af07H9{8)3ti*Zy1g6>hZ@|Y+h9a z#Rs|2BsIciO?xkRoZehz5tc%}s>#0=S!xoW*2FhuBI2BK(f#O2{r-2JT&L?SVv+f2 zGxdjf%QC&vZ|d$ZIEz>+VwxzH8v1V~sWEB zhJQnEL#PnM)!T%Mzcapdrf})=7h5PCTy(m;FGGio#XDA1T6C$cLLI7KE6t$=AIdxd z@q77l_WU^k`yM58@I!oa(YnXp4su*qhXIE8dmvCR{o;6S=G*;&=iK^*FYe9Vi414eA7F;8M^Em1`;)gS^bg<##5SrDP!0LYkcKk z78jPUfkR6s^P@5DOr~d(3tQIM#(2?VHis|LhREY-Vqp!u*fO!n6flv6YSJNT87_JLEzv|Wcla!IX!6alSFh>eS>HhniPo|-J;xL9g0wy%pd%^7i7bK4S* z9?8q_m>cJW`$AOD*h|jxq|TUj-tQ%JI<)LQKWb5GvPJSy5{@M&?>iIm{AOyxUo!5n(|crlOX1t{q*p#;Pa1m|deoe&*=z!PK2i zPbYyw7C&Gt=|?1zKeu~n+3?}e?@xhCH? zIy@INu&em`12iMlgTeI|vju<9q-5tJ!rq!kZGDqbHb{mF7$uTfvFvx&CSgDz5FrT}1YG)$KyK1^8hdt0?VP!o~sRC_0 z$lsps%CL_bneDHfB5vMlcdBxrJPYX$Z;WdVK;*8A2NXcI(%(^udc+Fw<8g1^9-O`c z+z11|^uEVAb;4IXD!pK&1y6dDwF;Qs3kVn2vVOt6M{xyt@AH Q9k}1*)#kq?jK{0VCu8HhB>(^b literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo new file mode 100644 index 0000000..755dae5 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/HttpBuilder.elmo @@ -0,0 +1,191 @@ +var _lukewestby$elm_http_builder$HttpBuilder$replace = F2( + function (old, $new) { + return function (_p0) { + return A2( + _elm_lang$core$String$join, + $new, + A2(_elm_lang$core$String$split, old, _p0)); + }; + }); +var _lukewestby$elm_http_builder$HttpBuilder$queryEscape = function (_p1) { + return A3( + _lukewestby$elm_http_builder$HttpBuilder$replace, + '%20', + '+', + _elm_lang$http$Http$encodeUri(_p1)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$queryPair = function (_p2) { + var _p3 = _p2; + return A2( + _elm_lang$core$Basics_ops['++'], + _lukewestby$elm_http_builder$HttpBuilder$queryEscape(_p3._0), + A2( + _elm_lang$core$Basics_ops['++'], + '=', + _lukewestby$elm_http_builder$HttpBuilder$queryEscape(_p3._1))); +}; +var _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded = function (args) { + return A2( + _elm_lang$core$String$join, + '&', + A2(_elm_lang$core$List$map, _lukewestby$elm_http_builder$HttpBuilder$queryPair, args)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$toRequest = function (_p4) { + var _p5 = _p4; + var _p6 = _p5._0; + var encodedParams = _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded(_p6.queryParams); + var fullUrl = _elm_lang$core$String$isEmpty(encodedParams) ? _p6.url : A2( + _elm_lang$core$Basics_ops['++'], + _p6.url, + A2(_elm_lang$core$Basics_ops['++'], '?', encodedParams)); + return _elm_lang$http$Http$request( + {method: _p6.method, url: fullUrl, headers: _p6.headers, body: _p6.body, expect: _p6.expect, timeout: _p6.timeout, withCredentials: _p6.withCredentials}); +}; +var _lukewestby$elm_http_builder$HttpBuilder$send = F2( + function (tagger, builder) { + return A2( + _elm_lang$http$Http$send, + tagger, + _lukewestby$elm_http_builder$HttpBuilder$toRequest(builder)); + }); +var _lukewestby$elm_http_builder$HttpBuilder$RequestDetails = F8( + function (a, b, c, d, e, f, g, h) { + return {method: a, headers: b, url: c, body: d, expect: e, timeout: f, withCredentials: g, queryParams: h}; + }); +var _lukewestby$elm_http_builder$HttpBuilder$RequestBuilder = function (a) { + return {ctor: 'RequestBuilder', _0: a}; +}; +var _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl = F2( + function (method, url) { + return _lukewestby$elm_http_builder$HttpBuilder$RequestBuilder( + { + method: method, + url: url, + headers: {ctor: '[]'}, + body: _elm_lang$http$Http$emptyBody, + expect: _elm_lang$http$Http$expectStringResponse( + function (_p7) { + return _elm_lang$core$Result$Ok( + {ctor: '_Tuple0'}); + }), + timeout: _elm_lang$core$Maybe$Nothing, + withCredentials: false, + queryParams: {ctor: '[]'} + }); + }); +var _lukewestby$elm_http_builder$HttpBuilder$get = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('GET'); +var _lukewestby$elm_http_builder$HttpBuilder$post = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('POST'); +var _lukewestby$elm_http_builder$HttpBuilder$put = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('PUT'); +var _lukewestby$elm_http_builder$HttpBuilder$patch = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('PATCH'); +var _lukewestby$elm_http_builder$HttpBuilder$delete = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('DELETE'); +var _lukewestby$elm_http_builder$HttpBuilder$options = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('OPTIONS'); +var _lukewestby$elm_http_builder$HttpBuilder$trace = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('TRACE'); +var _lukewestby$elm_http_builder$HttpBuilder$head = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('HEAD'); +var _lukewestby$elm_http_builder$HttpBuilder$map = F2( + function (fn, _p8) { + var _p9 = _p8; + return _lukewestby$elm_http_builder$HttpBuilder$RequestBuilder( + fn(_p9._0)); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withHeader = F2( + function (key, value) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + headers: { + ctor: '::', + _0: A2(_elm_lang$http$Http$header, key, value), + _1: details.headers + } + }); + }); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withHeaders = function (headerPairs) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + headers: A2( + _elm_lang$core$Basics_ops['++'], + A2( + _elm_lang$core$List$map, + _elm_lang$core$Basics$uncurry(_elm_lang$http$Http$header), + headerPairs), + details.headers) + }); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withBody = function (body) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + {body: body}); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withStringBody = F2( + function (contentType, value) { + return _lukewestby$elm_http_builder$HttpBuilder$withBody( + A2(_elm_lang$http$Http$stringBody, contentType, value)); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withUrlEncodedBody = function (_p10) { + return A2( + _lukewestby$elm_http_builder$HttpBuilder$withStringBody, + 'application/x-www-form-urlencoded', + _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded(_p10)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withJsonBody = function (value) { + return _lukewestby$elm_http_builder$HttpBuilder$withBody( + _elm_lang$http$Http$jsonBody(value)); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withMultipartStringBody = function (partPairs) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + body: _elm_lang$http$Http$multipartBody( + A2( + _elm_lang$core$List$map, + _elm_lang$core$Basics$uncurry(_elm_lang$http$Http$stringPart), + partPairs)) + }); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withTimeout = function (timeout) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + timeout: _elm_lang$core$Maybe$Just(timeout) + }); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withCredentials = _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + {withCredentials: true}); + }); +var _lukewestby$elm_http_builder$HttpBuilder$withExpect = function (expect) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + {expect: expect}); + }); +}; +var _lukewestby$elm_http_builder$HttpBuilder$withQueryParams = function (queryParams) { + return _lukewestby$elm_http_builder$HttpBuilder$map( + function (details) { + return _elm_lang$core$Native_Utils.update( + details, + { + queryParams: A2(_elm_lang$core$Basics_ops['++'], details.queryParams, queryParams) + }); + }); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/lukewestby/elm-http-builder/4.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..d7cb0d58ab90406860dbcb3602c64c982215e972 GIT binary patch literal 1707 zcmb`H+fKtU42BD&)dV+4Jja?{@C2hs69NgbzCeXOAn9gvh*|#$*^DUbd|lIl ziH7Z@r9XOfDn#$|RlcIu2>OeaAASSP@MQ0Rv>3HD>vpgwqBj!ODcGsOgJxT2)G;!I zL`r5GkO|?WFKo{-{SXi-RU5*&gu{?0+jp?e3Mu+3I`y#&q+&Tqp@fT2gzQaPuV+c) zM1cw_!}e&9phE@* h8)@;XnX7w)@8^Fiha){@T|Kl_KxfTjx1Qrbd;+V9zt;c& literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmi new file mode 100644 index 0000000000000000000000000000000000000000..92558439ae2fe31285f2c3e52224968cae61dc6a GIT binary patch literal 684 zcma)4%MQXI5Ts9QVm$aC{Q-|^;zg6D^#^E68xklDl!Je7G;AwtjB?p948zVWgm`P` z?FdO^uSDy>EfX@=bZC{#$EJ5^09RHWH-@Xh?KkK=Jy63NgV5x}YKx`f3pW!cUg^DN z2+RsWr%q|<@X%F^M@I=JzEUb%BlWa=c}3bj8WkTwq$M*};QrHU(tN;9lbam{xPsQg z{hmOo0VNUO#LH!2{3JLBFrX-eyV-N1g3fKljndE!aD2b(GaHzulhP2@EcVA=0VlrZ OTZVDP7);7Nu#^W#MN0wz literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo new file mode 100644 index 0000000..e7d2f61 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg-Interop.elmo @@ -0,0 +1,4 @@ +var _mgold$elm_random_pcg$Random_Pcg_Interop$fission = A2( + _elm_lang$core$Random$map, + _mgold$elm_random_pcg$Random_Pcg$initialSeed, + A2(_elm_lang$core$Random$int, 0, 4294967295)); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmi new file mode 100644 index 0000000000000000000000000000000000000000..36c0abbad1a902a21cbff4116986b7612c18033a GIT binary patch literal 10579 zcmeHNOK;RL5Kg*Db`cUt`~i-fxU?W7j^&N0glNSTIazOs$YV*eg8qAw*x!tk-LyT# zu2ivy*5lW_$1`?3Z}59EfIKhEFUxGLJ0Hm`e_n}VUFOfX$))aniX}l@mKlIWS~O^f zo2(QJm4*CNU@WRdzRe`SU@Ov!fGn+fSuU<(ninNM%QPWyslXa5A8ac5dnb$J3O$Ql zY|#$d_OS_^n7|7YcnKhC**@bfqD`7Lk|GS$P5HSliIml* zD)X-6Nb~mKgF;vmJ06Atb8m>^v2OVKe{?G9G=c2VyF5*sKWPmv&>g;&@eZa#Xbk$I zw=yZ$Saxv6yTX`(je{?2Ea(f*44Xmc>T4#NOm)`g{Xgx)(0194(2g0yx6geJOkOUUwfF~3vU4$y@4Qj#*Gv7zNR%C zVfih>0PsiO`T(JKTYRNB(c2PJvHa0<1wSNIzM$reSm$KKlu*y6kKJ26sGss1h{RiT zzCM8F=TT!uoLbC^VV`Bg_K5qqwL$=M=x!e?cK3xdOtBU$NAx=(!WqBrB^$;~BfTY}*Zwka}@D$}IohlA_j3~)z~J51UsIqzbr zI45F|bCJEMm=Ch%2#5WlGHZY}(>uy&L2`Q#Ybkrm_T35A9VX48u26_!9fL-&ZL&t_ zG;KyLGwI+^)Htac?P!|;HXV1EH0xB=Fy>WPu4aPL?jR{Eq}C8jFj;vlRULww$hYQr zE3WrgerPT7`tnY)s@n+fnu^INo+vx+c~R;bm#?g}IRfQ=-e^sEgW4QM)#v-xQ1&+~ z160G(!n!OGZ2A*U0YQILGbGA39dHr*wZKH!Wdaa`Iw^dV+4kmYe5f+do8MZP=<%Vz zbkC2~DI?6{Am6phpHj8DO=LvWy4NMJzBeUi1y?;WbtVpvD|e`3XVEOt!K4#*doN9L zHHFQ+35~Da38TAh1YSGmHFozM`cvYJDO@XeDsEpJh}j7h^Mo}`mF`qN!P? zh3ZwKEo;m=i$oB;)t$*<*$r;sRnD4TaW3u-{&trNMQ`JEs z|F*AaM9a-zCII)OL)pDi4b_JZprYr6*{m4aR~~uy&?B)SijxPpjrfKs#Qiazy*VE5_jKsPMbUb|?!leLs)X7Vo#- n-T$Dm12c)RIc%jrfbUd;<`bx9o&uaXb_C(|$M^uiGW`DsdsUhs literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmo new file mode 100644 index 0000000..29ca43c --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/Random-Pcg.elmo @@ -0,0 +1,560 @@ +var _mgold$elm_random_pcg$Random_Pcg$toJson = function (_p0) { + var _p1 = _p0; + return _elm_lang$core$Json_Encode$list( + { + ctor: '::', + _0: _elm_lang$core$Json_Encode$int(_p1._0), + _1: { + ctor: '::', + _0: _elm_lang$core$Json_Encode$int(_p1._1), + _1: {ctor: '[]'} + } + }); +}; +var _mgold$elm_random_pcg$Random_Pcg$mul32 = F2( + function (a, b) { + var bl = b & 65535; + var bh = 65535 & (b >>> 16); + var al = a & 65535; + var ah = 65535 & (a >>> 16); + return 0 | ((al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0)); + }); +var _mgold$elm_random_pcg$Random_Pcg$listHelp = F4( + function (list, n, generate, seed) { + listHelp: + while (true) { + if (_elm_lang$core$Native_Utils.cmp(n, 1) < 0) { + return {ctor: '_Tuple2', _0: list, _1: seed}; + } else { + var _p2 = generate(seed); + var value = _p2._0; + var newSeed = _p2._1; + var _v1 = {ctor: '::', _0: value, _1: list}, + _v2 = n - 1, + _v3 = generate, + _v4 = newSeed; + list = _v1; + n = _v2; + generate = _v3; + seed = _v4; + continue listHelp; + } + } + }); +var _mgold$elm_random_pcg$Random_Pcg$minInt = -2147483648; +var _mgold$elm_random_pcg$Random_Pcg$maxInt = 2147483647; +var _mgold$elm_random_pcg$Random_Pcg$bit27 = 1.34217728e8; +var _mgold$elm_random_pcg$Random_Pcg$bit53 = 9.007199254740992e15; +var _mgold$elm_random_pcg$Random_Pcg$peel = function (_p3) { + var _p4 = _p3; + var _p5 = _p4._0; + var word = (_p5 ^ (_p5 >>> ((_p5 >>> 28) + 4))) * 277803737; + return ((word >>> 22) ^ word) >>> 0; +}; +var _mgold$elm_random_pcg$Random_Pcg$step = F2( + function (_p6, seed) { + var _p7 = _p6; + return _p7._0(seed); + }); +var _mgold$elm_random_pcg$Random_Pcg$retry = F3( + function (generator, predicate, seed) { + retry: + while (true) { + var _p8 = A2(_mgold$elm_random_pcg$Random_Pcg$step, generator, seed); + var candidate = _p8._0; + var newSeed = _p8._1; + if (predicate(candidate)) { + return {ctor: '_Tuple2', _0: candidate, _1: newSeed}; + } else { + var _v7 = generator, + _v8 = predicate, + _v9 = newSeed; + generator = _v7; + predicate = _v8; + seed = _v9; + continue retry; + } + } + }); +var _mgold$elm_random_pcg$Random_Pcg$Generator = function (a) { + return {ctor: 'Generator', _0: a}; +}; +var _mgold$elm_random_pcg$Random_Pcg$list = F2( + function (n, _p9) { + var _p10 = _p9; + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed) { + return A4( + _mgold$elm_random_pcg$Random_Pcg$listHelp, + {ctor: '[]'}, + n, + _p10._0, + seed); + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$constant = function (value) { + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed) { + return {ctor: '_Tuple2', _0: value, _1: seed}; + }); +}; +var _mgold$elm_random_pcg$Random_Pcg$map = F2( + function (func, _p11) { + var _p12 = _p11; + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var _p13 = _p12._0(seed0); + var a = _p13._0; + var seed1 = _p13._1; + return { + ctor: '_Tuple2', + _0: func(a), + _1: seed1 + }; + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$map2 = F3( + function (func, _p15, _p14) { + var _p16 = _p15; + var _p17 = _p14; + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var _p18 = _p16._0(seed0); + var a = _p18._0; + var seed1 = _p18._1; + var _p19 = _p17._0(seed1); + var b = _p19._0; + var seed2 = _p19._1; + return { + ctor: '_Tuple2', + _0: A2(func, a, b), + _1: seed2 + }; + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$pair = F2( + function (genA, genB) { + return A3( + _mgold$elm_random_pcg$Random_Pcg$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + genA, + genB); + }); +var _mgold$elm_random_pcg$Random_Pcg$andMap = _mgold$elm_random_pcg$Random_Pcg$map2( + F2( + function (x, y) { + return x(y); + })); +var _mgold$elm_random_pcg$Random_Pcg$map3 = F4( + function (func, _p22, _p21, _p20) { + var _p23 = _p22; + var _p24 = _p21; + var _p25 = _p20; + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var _p26 = _p23._0(seed0); + var a = _p26._0; + var seed1 = _p26._1; + var _p27 = _p24._0(seed1); + var b = _p27._0; + var seed2 = _p27._1; + var _p28 = _p25._0(seed2); + var c = _p28._0; + var seed3 = _p28._1; + return { + ctor: '_Tuple2', + _0: A3(func, a, b, c), + _1: seed3 + }; + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$map4 = F5( + function (func, _p32, _p31, _p30, _p29) { + var _p33 = _p32; + var _p34 = _p31; + var _p35 = _p30; + var _p36 = _p29; + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var _p37 = _p33._0(seed0); + var a = _p37._0; + var seed1 = _p37._1; + var _p38 = _p34._0(seed1); + var b = _p38._0; + var seed2 = _p38._1; + var _p39 = _p35._0(seed2); + var c = _p39._0; + var seed3 = _p39._1; + var _p40 = _p36._0(seed3); + var d = _p40._0; + var seed4 = _p40._1; + return { + ctor: '_Tuple2', + _0: A4(func, a, b, c, d), + _1: seed4 + }; + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$map5 = F6( + function (func, _p45, _p44, _p43, _p42, _p41) { + var _p46 = _p45; + var _p47 = _p44; + var _p48 = _p43; + var _p49 = _p42; + var _p50 = _p41; + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var _p51 = _p46._0(seed0); + var a = _p51._0; + var seed1 = _p51._1; + var _p52 = _p47._0(seed1); + var b = _p52._0; + var seed2 = _p52._1; + var _p53 = _p48._0(seed2); + var c = _p53._0; + var seed3 = _p53._1; + var _p54 = _p49._0(seed3); + var d = _p54._0; + var seed4 = _p54._1; + var _p55 = _p50._0(seed4); + var e = _p55._0; + var seed5 = _p55._1; + return { + ctor: '_Tuple2', + _0: A5(func, a, b, c, d, e), + _1: seed5 + }; + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$andThen = F2( + function (callback, _p56) { + var _p57 = _p56; + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed) { + var _p58 = _p57._0(seed); + var result = _p58._0; + var newSeed = _p58._1; + var _p59 = callback(result); + var generateB = _p59._0; + return generateB(newSeed); + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$maybe = F2( + function (genBool, genA) { + return A2( + _mgold$elm_random_pcg$Random_Pcg$andThen, + function (b) { + return b ? A2(_mgold$elm_random_pcg$Random_Pcg$map, _elm_lang$core$Maybe$Just, genA) : _mgold$elm_random_pcg$Random_Pcg$constant(_elm_lang$core$Maybe$Nothing); + }, + genBool); + }); +var _mgold$elm_random_pcg$Random_Pcg$filter = F2( + function (predicate, generator) { + return _mgold$elm_random_pcg$Random_Pcg$Generator( + A2(_mgold$elm_random_pcg$Random_Pcg$retry, generator, predicate)); + }); +var _mgold$elm_random_pcg$Random_Pcg$Seed = F2( + function (a, b) { + return {ctor: 'Seed', _0: a, _1: b}; + }); +var _mgold$elm_random_pcg$Random_Pcg$next = function (_p60) { + var _p61 = _p60; + var _p62 = _p61._1; + return A2(_mgold$elm_random_pcg$Random_Pcg$Seed, ((_p61._0 * 1664525) + _p62) >>> 0, _p62); +}; +var _mgold$elm_random_pcg$Random_Pcg$initialSeed = function (x) { + var _p63 = _mgold$elm_random_pcg$Random_Pcg$next( + A2(_mgold$elm_random_pcg$Random_Pcg$Seed, 0, 1013904223)); + var state1 = _p63._0; + var incr = _p63._1; + var state2 = (state1 + x) >>> 0; + return _mgold$elm_random_pcg$Random_Pcg$next( + A2(_mgold$elm_random_pcg$Random_Pcg$Seed, state2, incr)); +}; +var _mgold$elm_random_pcg$Random_Pcg$generate = F2( + function (toMsg, generator) { + return A2( + _elm_lang$core$Task$perform, + toMsg, + A2( + _elm_lang$core$Task$map, + function (_p64) { + return _elm_lang$core$Tuple$first( + A2( + _mgold$elm_random_pcg$Random_Pcg$step, + generator, + _mgold$elm_random_pcg$Random_Pcg$initialSeed( + _elm_lang$core$Basics$round(_p64)))); + }, + _elm_lang$core$Time$now)); + }); +var _mgold$elm_random_pcg$Random_Pcg$int = F2( + function (a, b) { + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var _p65 = (_elm_lang$core$Native_Utils.cmp(a, b) < 0) ? {ctor: '_Tuple2', _0: a, _1: b} : {ctor: '_Tuple2', _0: b, _1: a}; + var lo = _p65._0; + var hi = _p65._1; + var range = (hi - lo) + 1; + if (_elm_lang$core$Native_Utils.eq((range - 1) & range, 0)) { + return { + ctor: '_Tuple2', + _0: (((range - 1) & _mgold$elm_random_pcg$Random_Pcg$peel(seed0)) >>> 0) + lo, + _1: _mgold$elm_random_pcg$Random_Pcg$next(seed0) + }; + } else { + var threshhold = A2(_elm_lang$core$Basics$rem, (0 - range) >>> 0, range) >>> 0; + var accountForBias = function (seed) { + accountForBias: + while (true) { + var seedN = _mgold$elm_random_pcg$Random_Pcg$next(seed); + var x = _mgold$elm_random_pcg$Random_Pcg$peel(seed); + if (_elm_lang$core$Native_Utils.cmp(x, threshhold) < 0) { + var _v28 = seedN; + seed = _v28; + continue accountForBias; + } else { + return { + ctor: '_Tuple2', + _0: A2(_elm_lang$core$Basics$rem, x, range) + lo, + _1: seedN + }; + } + } + }; + return accountForBias(seed0); + } + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$bool = A2( + _mgold$elm_random_pcg$Random_Pcg$map, + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.eq(x, y); + })(1), + A2(_mgold$elm_random_pcg$Random_Pcg$int, 0, 1)); +var _mgold$elm_random_pcg$Random_Pcg$choice = F2( + function (x, y) { + return A2( + _mgold$elm_random_pcg$Random_Pcg$map, + function (b) { + return b ? x : y; + }, + _mgold$elm_random_pcg$Random_Pcg$bool); + }); +var _mgold$elm_random_pcg$Random_Pcg$oneIn = function (n) { + return A2( + _mgold$elm_random_pcg$Random_Pcg$map, + F2( + function (x, y) { + return _elm_lang$core$Native_Utils.eq(x, y); + })(1), + A2(_mgold$elm_random_pcg$Random_Pcg$int, 1, n)); +}; +var _mgold$elm_random_pcg$Random_Pcg$sample = function () { + var find = F2( + function (k, ys) { + find: + while (true) { + var _p66 = ys; + if (_p66.ctor === '[]') { + return _elm_lang$core$Maybe$Nothing; + } else { + if (_elm_lang$core$Native_Utils.eq(k, 0)) { + return _elm_lang$core$Maybe$Just(_p66._0); + } else { + var _v30 = k - 1, + _v31 = _p66._1; + k = _v30; + ys = _v31; + continue find; + } + } + } + }); + return function (xs) { + return A2( + _mgold$elm_random_pcg$Random_Pcg$map, + function (i) { + return A2(find, i, xs); + }, + A2( + _mgold$elm_random_pcg$Random_Pcg$int, + 0, + _elm_lang$core$List$length(xs) - 1)); + }; +}(); +var _mgold$elm_random_pcg$Random_Pcg$float = F2( + function (min, max) { + return _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var range = _elm_lang$core$Basics$abs(max - min); + var n0 = _mgold$elm_random_pcg$Random_Pcg$peel(seed0); + var hi = _elm_lang$core$Basics$toFloat(67108863 & n0) * 1.0; + var seed1 = _mgold$elm_random_pcg$Random_Pcg$next(seed0); + var n1 = _mgold$elm_random_pcg$Random_Pcg$peel(seed1); + var lo = _elm_lang$core$Basics$toFloat(134217727 & n1) * 1.0; + var val = ((hi * _mgold$elm_random_pcg$Random_Pcg$bit27) + lo) / _mgold$elm_random_pcg$Random_Pcg$bit53; + var scaled = (val * range) + min; + return { + ctor: '_Tuple2', + _0: scaled, + _1: _mgold$elm_random_pcg$Random_Pcg$next(seed1) + }; + }); + }); +var _mgold$elm_random_pcg$Random_Pcg$frequency = function (pairs) { + var pick = F2( + function (choices, n) { + pick: + while (true) { + var _p67 = choices; + if ((_p67.ctor === '::') && (_p67._0.ctor === '_Tuple2')) { + var _p68 = _p67._0._0; + if (_elm_lang$core$Native_Utils.cmp(n, _p68) < 1) { + return _p67._0._1; + } else { + var _v33 = _p67._1, + _v34 = n - _p68; + choices = _v33; + n = _v34; + continue pick; + } + } else { + return _elm_lang$core$Native_Utils.crashCase( + 'Random.Pcg', + { + start: {line: 682, column: 13}, + end: {line: 690, column: 77} + }, + _p67)('Empty list passed to Random.Pcg.frequency!'); + } + } + }); + var total = _elm_lang$core$List$sum( + A2( + _elm_lang$core$List$map, + function (_p70) { + return _elm_lang$core$Basics$abs( + _elm_lang$core$Tuple$first(_p70)); + }, + pairs)); + return A2( + _mgold$elm_random_pcg$Random_Pcg$andThen, + pick(pairs), + A2(_mgold$elm_random_pcg$Random_Pcg$float, 0, total)); +}; +var _mgold$elm_random_pcg$Random_Pcg$choices = function (gens) { + return _mgold$elm_random_pcg$Random_Pcg$frequency( + A2( + _elm_lang$core$List$map, + function (g) { + return {ctor: '_Tuple2', _0: 1, _1: g}; + }, + gens)); +}; +var _mgold$elm_random_pcg$Random_Pcg$independentSeed = _mgold$elm_random_pcg$Random_Pcg$Generator( + function (seed0) { + var gen = A2(_mgold$elm_random_pcg$Random_Pcg$int, 0, 4294967295); + var _p71 = A2( + _mgold$elm_random_pcg$Random_Pcg$step, + A4( + _mgold$elm_random_pcg$Random_Pcg$map3, + F3( + function (v0, v1, v2) { + return {ctor: '_Tuple3', _0: v0, _1: v1, _2: v2}; + }), + gen, + gen, + gen), + seed0); + var state = _p71._0._0; + var b = _p71._0._1; + var c = _p71._0._2; + var seed1 = _p71._1; + var incr = 1 | (b ^ c); + return { + ctor: '_Tuple2', + _0: seed1, + _1: _mgold$elm_random_pcg$Random_Pcg$next( + A2(_mgold$elm_random_pcg$Random_Pcg$Seed, state, incr)) + }; + }); +var _mgold$elm_random_pcg$Random_Pcg$fastForward = F2( + function (delta0, _p72) { + var _p73 = _p72; + var _p76 = _p73._1; + var helper = F6( + function (accMult, accPlus, curMult, curPlus, delta, repeat) { + helper: + while (true) { + var newDelta = delta >>> 1; + var curMult_ = A2(_mgold$elm_random_pcg$Random_Pcg$mul32, curMult, curMult); + var curPlus_ = A2(_mgold$elm_random_pcg$Random_Pcg$mul32, curMult + 1, curPlus); + var _p74 = _elm_lang$core$Native_Utils.eq(delta & 1, 1) ? { + ctor: '_Tuple2', + _0: A2(_mgold$elm_random_pcg$Random_Pcg$mul32, accMult, curMult), + _1: (A2(_mgold$elm_random_pcg$Random_Pcg$mul32, accPlus, curMult) + curPlus) >>> 0 + } : {ctor: '_Tuple2', _0: accMult, _1: accPlus}; + var accMult_ = _p74._0; + var accPlus_ = _p74._1; + if (_elm_lang$core$Native_Utils.eq(newDelta, 0)) { + if ((_elm_lang$core$Native_Utils.cmp(delta0, 0) < 0) && repeat) { + var _v36 = accMult_, + _v37 = accPlus_, + _v38 = curMult_, + _v39 = curPlus_, + _v40 = -1, + _v41 = false; + accMult = _v36; + accPlus = _v37; + curMult = _v38; + curPlus = _v39; + delta = _v40; + repeat = _v41; + continue helper; + } else { + return {ctor: '_Tuple2', _0: accMult_, _1: accPlus_}; + } + } else { + var _v42 = accMult_, + _v43 = accPlus_, + _v44 = curMult_, + _v45 = curPlus_, + _v46 = newDelta, + _v47 = repeat; + accMult = _v42; + accPlus = _v43; + curMult = _v44; + curPlus = _v45; + delta = _v46; + repeat = _v47; + continue helper; + } + } + }); + var _p75 = A6(helper, 1, 0, 1664525, _p76, delta0, true); + var accMultFinal = _p75._0; + var accPlusFinal = _p75._1; + return A2( + _mgold$elm_random_pcg$Random_Pcg$Seed, + (A2(_mgold$elm_random_pcg$Random_Pcg$mul32, accMultFinal, _p73._0) + accPlusFinal) >>> 0, + _p76); + }); +var _mgold$elm_random_pcg$Random_Pcg$fromJson = _elm_lang$core$Json_Decode$oneOf( + { + ctor: '::', + _0: A3( + _elm_lang$core$Json_Decode$map2, + _mgold$elm_random_pcg$Random_Pcg$Seed, + A2(_elm_lang$core$Json_Decode$index, 0, _elm_lang$core$Json_Decode$int), + A2(_elm_lang$core$Json_Decode$index, 1, _elm_lang$core$Json_Decode$int)), + _1: { + ctor: '::', + _0: A2(_elm_lang$core$Json_Decode$map, _mgold$elm_random_pcg$Random_Pcg$initialSeed, _elm_lang$core$Json_Decode$int), + _1: {ctor: '[]'} + } + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/mgold/elm-random-pcg/4.0.2/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..dfec8b0028287cd604e506cc45e4292312fb448b GIT binary patch literal 2657 zcmeH|-)e&}6vo~B(_W0R7pW;@4=}n8wy{BJeSsLGghnGKGWPas^&FW(Z%o)#y*U_@ zU(We*^67cqbK3_mEDI$wc)91YTs5@HRJp2I0iyv#47e0ywC`5HXMZ;=d_Lo}Y4e=a zlpSfoHR-k^<9*0eypA7xiF+7$Z3!VP^uTy*Tkdu4c|YMA$CW8ef>ZjAiS!R;8AZJ{F`{uub@&o}4j(dMr9 Z;^LeQUv1y?f#QCEVer4>K zwaD>VGxmol%g|;m`IB@(}e#zqwRnt;FOW n))@=aVCwznQN0KiKu<50kWK9SfOp}4^8mbnjix62dk@kVJ~p%3 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Chalk.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Chalk.elmo new file mode 100644 index 0000000..0339210 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Chalk.elmo @@ -0,0 +1,43 @@ +var _rtfeldman$node_test_runner$Chalk$withColorChar = F3( + function (icon, textColor, str) { + return { + styles: { + ctor: '::', + _0: textColor, + _1: {ctor: '[]'} + }, + text: A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$String$fromChar(icon), + A2( + _elm_lang$core$Basics_ops['++'], + ' ', + A2(_elm_lang$core$Basics_ops['++'], str, '\n'))) + }; + }); +var _rtfeldman$node_test_runner$Chalk$encode = function (_p0) { + var _p1 = _p0; + return _elm_lang$core$Json_Encode$object( + { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'styles', + _1: _elm_lang$core$Json_Encode$list( + A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p1.styles)) + }, + _1: { + ctor: '::', + _0: { + ctor: '_Tuple2', + _0: 'text', + _1: _elm_lang$core$Json_Encode$string(_p1.text) + }, + _1: {ctor: '[]'} + } + }); +}; +var _rtfeldman$node_test_runner$Chalk$Chalk = F2( + function (a, b) { + return {styles: a, text: b}; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Chalk.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Chalk.elmi new file mode 100644 index 0000000000000000000000000000000000000000..f3e1775937455c6e00d9db562496e9ea0a338908 GIT binary patch literal 3673 zcmeHJUvJtl5H}@BVGKI$d+-JNSlUXPHfaL1J)7j9)@%pG&Q$j4mk^(corVSpsy>Vt zh~{-ZG2~#$gdcIZ%nKfkp%KP(drR%az+3G( z75=0=$K#VVWjxPdnN~R*qK%Vltvlb>kCjb>5b61tg&XzP3&otlK$RMH|BH&{8Zvv__cv{u1Jj9Nm*y}7Wq5e7JY?s z_7@tk9TD`u$Tkw3x7<&-5tB?a$`=5MWu;VRC>fSR!Ys{e+V@{C(o?+w<8%g3e?vc% zZ>RG*A2>#BgTxe%b?B_MW03v``w?efrESlibzoe+WN|7)UeJd_*WRm=FQXCj*&Uun z)hJbU13YQz?4%eIrT%oip!Nk(R8@FO$)aBSa`mlWT@ZH$J7?4DqzBD+909z+*K*Uv s)p|3n|8F$bwsFZ?>)hQio9m< 0) ? { + ctor: '::', + _0: { + styles: { + ctor: '::', + _0: 'underline', + _1: { + ctor: '::', + _0: 'red', + _1: {ctor: '[]'} + } + }, + text: '\nTEST RUN FAILED\n\n' + }, + _1: {ctor: '[]'} + } : { + ctor: '::', + _0: { + styles: { + ctor: '::', + _0: 'underline', + _1: { + ctor: '::', + _0: 'green', + _1: {ctor: '[]'} + } + }, + text: '\nTEST RUN PASSED\n\n' + }, + _1: {ctor: '[]'} + }; + var passed = _elm_lang$core$List$length(results) - failed; + return _elm_lang$core$Json_Encode$list( + A2( + _elm_lang$core$List$map, + _rtfeldman$node_test_runner$Chalk$encode, + _elm_lang$core$List$concat( + { + ctor: '::', + _0: headline, + _1: { + ctor: '::', + _0: A2( + stat, + 'Duration: ', + _rtfeldman$node_test_runner$Test_Reporter_Chalk$formatDuration(duration)), + _1: { + ctor: '::', + _0: A2( + stat, + 'Passed: ', + _elm_lang$core$Basics$toString(passed)), + _1: { + ctor: '::', + _0: A2( + stat, + 'Failed: ', + _elm_lang$core$Basics$toString(failed)), + _1: {ctor: '[]'} + } + } + } + }))); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Json.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Json.elmi new file mode 100644 index 0000000000000000000000000000000000000000..8914157b3b1f543f738d213b2b1c73abb651a880 GIT binary patch literal 3189 zcmeHJZExEk5XSXOlckBK{g3>Cer(oCn>uN#qkbp$)j|Rs8JO08KgZ^%p>^s?jnrxL z7t9&B=bpRgFd^Ra#hVc_Z}bE3Qc!6>e3o?yYYj@T8zUt&)*j==MFab~(N|D0+(TBq zZBvUq2MxG%*_(4C1Z^Izb!ErMj@cDetWbe9{R%r%1;*_9_Z|vut!H*jzN;FMWY@B2 z@dx{oTc&Uqx=nx3$6dH^_LEcnP&XoQ5!&O8C|_HWn_U1Sy8~r-2qepO!z6}^G$-3O z19t!Hu4CM#;^lLaEfZlp>DIIf!DA5d#)Tr^ros`M6A+ui{F+IbyKA$CJtoeg)_-lH$D%atL4Kti_&dKogcyJCj4wj26YAMo=YX&U&cMRnh^P4;3*=oI2e zn)k&0{F>G_=W~$aUO2%0LiZbc;p}Tj#dDlQ))6*+x{S7`maMXkB}NW#nuWF?-by3^ z$EBunk5k|&$1@8nw^WIo?6N^esLT3hL7jCF*?_t0Y!`y)N|CM}9tdEbP%?!n5kn94 zijxZ@U)>b1u)VXLce%KYwCNI>-M_~1rZ*{2mHjw?A8-Xc5CIKWjBVBG=|>K;x-MeD zGS0X#XVu+iEQ}T*RkrE)aROaqi*8z`^SR$?nB~jeK{REW=uH)UH18r4zyZC_wpl_& z5OXEavHL-2-RSi(nE(Oeeh6auYC zB;HfW8Op7`%5x+s7YS=SF~$Y-P%}Sd+d%R{x?y44^}v_FGN($eE{Gd}+4!jMcZ?5? zKf^MQu>+*K^7ZkdA)L~BuMunXgWBIN-48msL09utL8Mo6vJ;@0a}bdbTJh@@B@?aF z2pqp!KTpcK@{zp+oL~#CIlqh~RZ4na3A&7E-!1eKAGB1%PV^vp|y9n;RX0r-rLhR;%I%Lo+C!cvL zx(#~Rm{JR6_X_b?1phll@TEQm%Lp{4)EtJfQBt&JvLm?j%Ngtpz-_vWwZte5E+`=1%J2N8+{|!Mnl`afi$#l KC?D@LqmkdT3(Y0~ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Reporter.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Reporter.elmo new file mode 100644 index 0000000..3082b98 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Reporter.elmo @@ -0,0 +1,14 @@ +var _rtfeldman$node_test_runner$Test_Reporter_Reporter$TestReporter = F4( + function (a, b, c, d) { + return {format: a, reportBegin: b, reportComplete: c, reportSummary: d}; + }); +var _rtfeldman$node_test_runner$Test_Reporter_Reporter$createReporter = function (report) { + var _p0 = report; + if (_p0.ctor === 'JsonReport') { + return A4(_rtfeldman$node_test_runner$Test_Reporter_Reporter$TestReporter, 'JSON', _rtfeldman$node_test_runner$Test_Reporter_Json$reportBegin, _rtfeldman$node_test_runner$Test_Reporter_Json$reportComplete, _rtfeldman$node_test_runner$Test_Reporter_Json$reportSummary); + } else { + return A4(_rtfeldman$node_test_runner$Test_Reporter_Reporter$TestReporter, 'CHALK', _rtfeldman$node_test_runner$Test_Reporter_Chalk$reportBegin, _rtfeldman$node_test_runner$Test_Reporter_Chalk$reportComplete, _rtfeldman$node_test_runner$Test_Reporter_Chalk$reportSummary); + } +}; +var _rtfeldman$node_test_runner$Test_Reporter_Reporter$JsonReport = {ctor: 'JsonReport'}; +var _rtfeldman$node_test_runner$Test_Reporter_Reporter$ChalkReport = {ctor: 'ChalkReport'}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Result.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Result.elmi new file mode 100644 index 0000000000000000000000000000000000000000..aedffa52231796913c05b768e3a6a47fe8dce2a6 GIT binary patch literal 2174 zcmds1+it=z3=PnhZe!B4|KJCB+=Zu2nt&e&Z9tKd7B$H<{(ew=vNl@`JIy^MV|AMVX7S6~>M$R}`Wmd(@+k>&4DD6UHeEtcD3u!zq`_ zRRSTweMEMIClB1n%mmi>Ni5wuFec9*8<8P50HPOZLRRIGKbbH<^*9@VGHVt66>&6xaQ#d? zAc%&B7~m(%1>B>(S}0#S6PvQKUQ$V`S)L7A8likTY)jbVujfvb{Nom|Iz5@mQ~q*pq-kx7pzzU|S|n zy=JMn*JPBHepkVwsn6#3jwsc};;AaR^{5wAM{|DYECd3rrMau>j(S38EtArYME(BM ziOm0#$f3$a@ug5*<@x#Jy?`F*gg;zq3=ICWZ8YTtJ_PZrD*kf5?D9{*p;c#I6^4n@ Ii{SO}2{9Nu_W%F@ literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Result.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Result.elmo new file mode 100644 index 0000000..ff8c3cc --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Reporter-Result.elmo @@ -0,0 +1,8 @@ +var _rtfeldman$node_test_runner$Test_Reporter_Result$TestResult = F3( + function (a, b, c) { + return {labels: a, expectations: b, duration: c}; + }); +var _rtfeldman$node_test_runner$Test_Reporter_Result$Failure = F2( + function (a, b) { + return {given: a, message: b}; + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node-App.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node-App.elmi new file mode 100644 index 0000000000000000000000000000000000000000..997a791f9c075330d7be54168eddbf83723a8f54 GIT binary patch literal 18609 zcmeHOTW{Mo6qaMzan@$&_CEp)d+b}cwpfQH4H9>+gJLV0P)jl-d06}FM~UY6kH*OJF0$e=T+HJjp&wo)={&qD!o0Z3R!I_OG(W_PLot0u zgVD8EyudFWria)06Hn3u4j#~W{7aBWvz$hl9lZ@7R(Kba<9Giq!&yN~afttWo&xCc z+i)fzu{QJnh;qDzy++r;mj`>{C6Z9{Am>1 z#2Zal%LOLE<+InXJ-jpsydjS844$YJ8y66I-@REbKQ4JU`?QTt9TQXk zM#<4o97ZopJ|t1`CVPUsdIR2yR=kMBiYQpzhvA&D9ezl_m~mDy;cRP|cj4$*a-2ZB z$crE=O4c#OCgCE!S_CX!{w&SFLqMoATYvTjjNj<}A`KYB;_p@RId5PkD+llVuS#Nm zQVVJ3XM*=k{bGmY(4E+*OwCX|8f-iu7Y)r^(R&v*LaVaU zE4At&g|S!k%EI@G{uwBGsTwcy)k8kZB66*umJXz*NIj2Nl@&Ok(t1v&M-tgD9a*JN z+w2a6K==Lh=QZ`9ypryn1}(&7i#HZRtRhdP$zh1R${lC%+AHo&Ax`i13b`|UTq%df z6nnGIa>M?C7P8u5tv#loi23h)7@QK_lkcNO!N)#oJc+1L-YD-ysoF&bBKjK6m4@$L z%AJg;shbhBNysOq-Y&!10mnyJ4jaTvHb=h+Aj9cNS_)5l@zM1EXZ2f+ykmy3p>J@vvmN=7fI|K1L+sYrG75* zcOB7$fEkNmy>wH+AmW!gw0ptX>^)t6N+_Y(s}rf56o1+-3S??WbplsoM6%-d`H$Ap zMW5&{1;r^%!Rp4SrWt-X3EfE~y4h?URqc=o>taEg z>)WG0gT)HP5{4O7wFW?@N?PTfL08JCQ}v+X=B4!wOO;n^DUq(ssUR)E|A*5h)L3jr(qjj;A&0mMiEuC~Y&*r>)_0dz&dbxf)qDB9XrCtLqgZV025;z({LkGOGd@84EE$V*+Uf^b~Rj zp}h`c7Ypg=5@1V-0NaAoj+xzj1)yeA;`}yCpR#~knHgypvNk&&hlyvqH`4XKwJz)s zTM)Q=nChHK?aEnwKU|a8SN2VmI_QelwJ4&9rlhiag48pqsb;1ia}ja-zGygWj{~)7 z_vqH~A7q!D`JoUUf7A446^B_gE3=-;!EZwvGOV`*>CbEJLD2qsxouLU)2eG+1^Z44 z6nizt;S`mt2-avN@7r<&^J{YdHB&FaqTj;BvZ>7p{6Ma+XJ>V}a7Rw4O$3}W^&lx} zQ!}s;pkMK-(P$!nJ7ZU%dzE$}jLOFE1x!rfOG;ohyuhH!Bw_$7O=ut6xdd1m*cD_} ziN0rqQ@$8Nyk@J_w|z~~9Fo5%&iCa)zk_n&9!y7lxlmq^<9AeekR$xx^y%Qf6Hm(d zc~;-=?Ln|=+@qSQqvR-+qia`J*X)OiKid5J9TlZ%cs)J-AbV=Az%lZ}1i56u-b5RK zz)KH0^k=V0&Z+;7&cZe(Sh$<*iFd+CIt+M)tH?+1-RdeZW`9<)CPv&UvDu~*-D07-+^>i%pF literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node-App.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node-App.elmo new file mode 100644 index 0000000..2dae6b9 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node-App.elmo @@ -0,0 +1,288 @@ +var _rtfeldman$node_test_runner$Test_Runner_Node_App$decodeReport = function (decoder) { + return A2( + _elm_lang$core$Json_Decode$andThen, + function (str) { + var _p0 = str; + switch (_p0) { + case 'json': + return _elm_lang$core$Json_Decode$succeed(_rtfeldman$node_test_runner$Test_Reporter_Reporter$JsonReport); + case 'chalk': + return _elm_lang$core$Json_Decode$succeed(_rtfeldman$node_test_runner$Test_Reporter_Reporter$ChalkReport); + default: + return _elm_lang$core$Json_Decode$fail( + A2(_elm_lang$core$Basics_ops['++'], 'Invalid --report argument: ', str)); + } + }, + decoder); +}; +var _rtfeldman$node_test_runner$Test_Runner_Node_App$intFromString = A2( + _elm_lang$core$Json_Decode$andThen, + function (str) { + var _p1 = _elm_lang$core$String$toInt(str); + if (_p1.ctor === 'Ok') { + return _elm_lang$core$Json_Decode$succeed(_p1._0); + } else { + return _elm_lang$core$Json_Decode$fail(_p1._0); + } + }, + _elm_lang$core$Json_Decode$string); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$decodeInitArgs = function (args) { + return A2( + _elm_lang$core$Json_Decode$decodeValue, + _elm_lang$core$Json_Decode$oneOf( + { + ctor: '::', + _0: _elm_lang$core$Json_Decode$null( + {ctor: '_Tuple2', _0: _elm_lang$core$Maybe$Nothing, _1: _rtfeldman$node_test_runner$Test_Reporter_Reporter$ChalkReport}), + _1: { + ctor: '::', + _0: A3( + _elm_lang$core$Json_Decode$map2, + F2( + function (v0, v1) { + return {ctor: '_Tuple2', _0: v0, _1: v1}; + }), + A2( + _elm_lang$core$Json_Decode$field, + 'seed', + _elm_lang$core$Json_Decode$nullable(_rtfeldman$node_test_runner$Test_Runner_Node_App$intFromString)), + A2( + _elm_lang$core$Json_Decode$field, + 'report', + _rtfeldman$node_test_runner$Test_Runner_Node_App$decodeReport(_elm_lang$core$Json_Decode$string))), + _1: {ctor: '[]'} + } + }), + args); +}; +var _rtfeldman$node_test_runner$Test_Runner_Node_App$toThunksHelp = F2( + function (labels, runner) { + toThunksHelp: + while (true) { + var _p2 = runner; + switch (_p2.ctor) { + case 'Runnable': + return { + ctor: '::', + _0: function (_p3) { + var _p4 = _p3; + return { + ctor: '_Tuple2', + _0: labels, + _1: _elm_community$elm_test$Test_Runner$run(_p2._0) + }; + }, + _1: {ctor: '[]'} + }; + case 'Labeled': + var _v4 = {ctor: '::', _0: _p2._0, _1: labels}, + _v5 = _p2._1; + labels = _v4; + runner = _v5; + continue toThunksHelp; + default: + return A2( + _elm_lang$core$List$concatMap, + _rtfeldman$node_test_runner$Test_Runner_Node_App$toThunksHelp(labels), + _p2._0); + } + } + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$toThunks = _rtfeldman$node_test_runner$Test_Runner_Node_App$toThunksHelp( + {ctor: '[]'}); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$fromNever = function (a) { + fromNever: + while (true) { + var _v6 = a; + a = _v6; + continue fromNever; + } +}; +var _rtfeldman$node_test_runner$Test_Runner_Node_App$timeToNumericSeed = function (time) { + return _elm_lang$core$Tuple$first( + A2( + _mgold$elm_random_pcg$Random_Pcg$step, + A2(_mgold$elm_random_pcg$Random_Pcg$int, 100, _mgold$elm_random_pcg$Random_Pcg$maxInt), + _mgold$elm_random_pcg$Random_Pcg$initialSeed( + _elm_lang$core$Basics$floor(time)))); +}; +var _rtfeldman$node_test_runner$Test_Runner_Node_App$InitArgs = F4( + function (a, b, c, d) { + return {initialSeed: a, startTime: b, thunks: c, report: d}; + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$RunnerOptions = F2( + function (a, b) { + return {seed: a, runs: b}; + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$AppOptions = F3( + function (a, b, c) { + return {init: a, update: b, subscriptions: c}; + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$SubMsg = function (a) { + return {ctor: 'SubMsg', _0: a}; +}; +var _rtfeldman$node_test_runner$Test_Runner_Node_App$subscriptions = F2( + function (subs, model) { + var _p5 = model; + if (_p5.ctor === 'Uninitialized') { + return _elm_lang$core$Platform_Sub$none; + } else { + return A2( + _elm_lang$core$Platform_Sub$map, + _rtfeldman$node_test_runner$Test_Runner_Node_App$SubMsg, + subs(_p5._1)); + } + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$Init = function (a) { + return {ctor: 'Init', _0: a}; +}; +var _rtfeldman$node_test_runner$Test_Runner_Node_App$Uninitialized = F2( + function (a, b) { + return {ctor: 'Uninitialized', _0: a, _1: b}; + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$Initialized = F2( + function (a, b) { + return {ctor: 'Initialized', _0: a, _1: b}; + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$initOrUpdate = F2( + function (msg, maybeModel) { + var _p6 = maybeModel; + if (_p6.ctor === 'Uninitialized') { + var _p7 = msg; + if (_p7.ctor === 'Init') { + var _p10 = _p7._0; + var numericSeed = function () { + var _p8 = _p6._1.maybeInitialSeed; + if (_p8.ctor === 'Just') { + return _p8._0; + } else { + return _rtfeldman$node_test_runner$Test_Runner_Node_App$timeToNumericSeed(_p10); + } + }(); + var seed = _mgold$elm_random_pcg$Random_Pcg$initialSeed(numericSeed); + var thunks = _rtfeldman$node_test_runner$Test_Runner_Node_App$toThunks( + A3(_elm_community$elm_test$Test_Runner$fromTest, _p6._1.runs, seed, _p6._1.test)); + var _p9 = _p6._1.init( + {initialSeed: numericSeed, startTime: _p10, thunks: thunks, report: _p6._1.report}); + var subModel = _p9._0; + var subCmd = _p9._1; + return { + ctor: '_Tuple2', + _0: A2(_rtfeldman$node_test_runner$Test_Runner_Node_App$Initialized, _p6._0, subModel), + _1: A2(_elm_lang$core$Platform_Cmd$map, _rtfeldman$node_test_runner$Test_Runner_Node_App$SubMsg, subCmd) + }; + } else { + return _elm_lang$core$Native_Utils.crashCase( + 'Test.Runner.Node.App', + { + start: {line: 65, column: 13}, + end: {line: 95, column: 70} + }, + _p7)('Attempted to run a SubMsg pre-Init!'); + } + } else { + var _p15 = _p6._0; + var _p12 = msg; + if (_p12.ctor === 'SubMsg') { + var _p13 = A2(_p15, _p12._0, _p6._1); + var newModel = _p13._0; + var cmd = _p13._1; + return { + ctor: '_Tuple2', + _0: A2(_rtfeldman$node_test_runner$Test_Runner_Node_App$Initialized, _p15, newModel), + _1: A2(_elm_lang$core$Platform_Cmd$map, _rtfeldman$node_test_runner$Test_Runner_Node_App$SubMsg, cmd) + }; + } else { + return _elm_lang$core$Native_Utils.crashCase( + 'Test.Runner.Node.App', + { + start: {line: 98, column: 13}, + end: {line: 107, column: 59} + }, + _p12)('Attempted to init twice!'); + } + } + }); +var _rtfeldman$node_test_runner$Test_Runner_Node_App$run = F3( + function (_p16, appOpts, test) { + var _p17 = _p16; + var _p22 = _p17.seed; + var init = function (args) { + var initArgs = function () { + var _p18 = { + ctor: '_Tuple2', + _0: _rtfeldman$node_test_runner$Test_Runner_Node_App$decodeInitArgs(args), + _1: _p22 + }; + if (_p18._0.ctor === 'Err') { + return _elm_lang$core$Native_Utils.crashCase( + 'Test.Runner.Node.App', + { + start: {line: 212, column: 21}, + end: {line: 237, column: 48} + }, + _p18)( + A2(_elm_lang$core$Basics_ops['++'], 'Invalid --seed argument: ', _p18._0._0)); + } else { + if (_p18._0._0._0.ctor === 'Just') { + if (_p18._1.ctor === 'Just') { + var _p21 = _p18._1._0; + var _p20 = _p18._0._0._0._0; + return _elm_lang$core$Native_Utils.eq(_p20, _p21) ? {ctor: '_Tuple2', _0: _p22, _1: _p18._0._0._1} : _elm_lang$core$Native_Utils.crash( + 'Test.Runner.Node.App', + { + start: {line: 225, column: 33}, + end: {line: 225, column: 44} + })( + A2( + _elm_lang$core$Basics_ops['++'], + 'Received both a --seed flag (', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p20), + A2( + _elm_lang$core$Basics_ops['++'], + ') and a runner option seed (', + A2( + _elm_lang$core$Basics_ops['++'], + _elm_lang$core$Basics$toString(_p21), + '). Which initial seed did you mean to use?'))))); + } else { + return { + ctor: '_Tuple2', + _0: _elm_lang$core$Maybe$Just(_p18._0._0._0._0), + _1: _p18._0._0._1 + }; + } + } else { + if (_p18._1.ctor === 'Just') { + return {ctor: '_Tuple2', _0: _p22, _1: _p18._0._0._1}; + } else { + return {ctor: '_Tuple2', _0: _elm_lang$core$Maybe$Nothing, _1: _p18._0._0._1}; + } + } + } + }(); + var cmd = A2(_elm_lang$core$Task$perform, _rtfeldman$node_test_runner$Test_Runner_Node_App$Init, _elm_lang$core$Time$now); + return { + ctor: '_Tuple2', + _0: A2( + _rtfeldman$node_test_runner$Test_Runner_Node_App$Uninitialized, + appOpts.update, + { + maybeInitialSeed: _elm_lang$core$Tuple$first(initArgs), + report: _elm_lang$core$Tuple$second(initArgs), + runs: _p17.runs, + test: test, + init: appOpts.init + }), + _1: cmd + }; + }; + return _elm_lang$core$Platform$programWithFlags( + { + init: init, + update: _rtfeldman$node_test_runner$Test_Runner_Node_App$initOrUpdate, + subscriptions: _rtfeldman$node_test_runner$Test_Runner_Node_App$subscriptions(appOpts.subscriptions) + }); + }); diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/rtfeldman/node-test-runner/3.0.0/Test-Runner-Node.elmi new file mode 100644 index 0000000000000000000000000000000000000000..2a73530ce0fe0c20d007a9bd61e9c36224765e82 GIT binary patch literal 41933 zcmeHQTW{Mo6qe&_nzks0{fz*_9{biS&|%$*CfFVaC00_Qvh3-yt^a4H17kVW z6FVP(_b%S7SFE=p3a0qu&hp?k`x#%I56CIONX}sVAuY5C&Ht+A|1(a!VJ7nDz#k2d z$yq&%lGWwydbKLkxcG*%=Z##@;T}m~%GQODw2%upJjjNR&pN#rN2`;n=CwwX9QuNf zG6|&&Om5d1@&}G$a;+Fizt-qHeV?quLanpc*Gh8q#69DWIjVrg+c@8Z#qF2VpUUig zoW}WgFp=p;rsfhR#mJ9N%%xd1-NKzo&hLqt+Eo$CY5hjz7xwXoeh(}jD&-4eqW4MynJp+mS> zmRZI3JuQ!z{L`p%=&O$MUEJy9b)YgHggYZ9IZMKuC~2CWRK3#amlWU26xb|a-#-;h zU_=Ls4UipXJQxa#?Lk&kyU42O;&pT%rvd&1pS@sqzKFx*DvFla7F3R}Aj>&-Lf@>* zRK30WtCKy&7dFR!(?7zbM3?co7^r8*-zF(ZnUZF)#=#+ih6hQRH}lX3yFL@_dR4Ag zVfL*jpI?hV$pVoDVp4<_$S+I#F=x#X6U1SlaHJzMhlca;pD<|97Qd zW&&fD)Z1${?V!TGXC5(6G=X9|P%t$szLe?Lro5XnKUDJ|3LM1h7;b}t7;Gu*+n5ll z3&LU(UM-1{wXwBg!((#UPBocMs4mnr3ihA^3RP5#=_?Q%LUjcp^!nRo57Pw%ofE2C zkyI}>)~~kK>6c^;Xsn+(k8Xw)4}mDBA#XjT;r%`v@+@dIf~)GC~ll z`<dX(2+R`zD z#rs}uV@7H-0F_cUplQgJn2Kn4OfFj|T{55@ECjj{=w=of+MEwIDIm~IP{Pfa5a=eT z)#e zkPDn|9Wu7Hz5E!3l_PXUMj=(;v2}usyI1B`tnDHyHn^k}Wonm);oFCW`MQSJuYIU8 zf(#jx5@c9u)SfgpL55(js7?>g$rAJ+$dDjIf(*MHv8x;ZW)GPlL!n>VoI~`|b(m1U zCdiN=L(WAQn^G;(v1*arf<2UH10^(WRDjo}7u@lcO2<&09wP(E#<66>E2_ejoqV5j zB>3RUm?J@kvvRWx4{)qIRr9%M*&#u5-FY8<12?a{Vt9%FISW{~P6%qL%yNK-l+))D z1U(39A*h9*7J^zpJMM=a9q4QZI_R!iE!q-ETOx(n>V9TTDOODrRc9gPTt5S~t2}=% zzn!YH2DD+Jqio3V&?TY?n=D`f63hcQv+xLPQD?DMX|Y z5$qC$h=LHd&qimVbGnclEVx5`c))2d0cNRB*9}%F!Ztq`=V>J1jT_3wtJ)GhuD8_< zeJ9{_z7ya*L_{%a6EzHQhLlPbx^ePvn5F6nT|9abCp8MymH2`DlDk$L0Dn<+Sn?~^ zwgPS=685B5`03Yy8m18hEacZ9VM=`m=TL;cGZvoXltwxO?)HL;Nl={%XtZW-U{0Cfz zCPu3ABYrB+!e($t`Um^!j>7GxL~Iz3PQnFFKx?R@L(Mr#jv)HcQO$jr(1KJ=ge^Q) zG!i&-{1?d{{1YMbZifWGm~(F zL3xNGC8j7+JcpuU81?JTb7Q>CioFbXk%(d7W1Q^dypVY@&&oKK8H}6I_M2BQVBh`{ z;UjczWEjo!qTKJ@RQQkLAal2w$nDSIeqCHIuH8KI-CD?^dKv_g)q4kmW=f+_#0ThG zev(P}Y(v{`UgK}S=Lwp}xr_bEK=92Nsc0}~U1UL{4@uHDkq3Uxpp(6n+Y(JgQOUXw z@`6L5AL41tVr@_6WyqltpWp0FnT8yTo2^1o?2`v-f40x6zK^$QQ+~%Poi{ z$2dZhwW&}Gb@gPLWJLpC9eDaV7M|1uE=uMHt4~}OL5%6FdJ;Q3oj7~14DBaTRK`K^ zgsxG8ieR9R?n9+v*ucJX_dAt7{+hD4tqFjfv}BBy_D*)ZHVuziJ{r>61Q7?^IGS$^ z8+U21MO$~{fZ{dHH<*z8OV0KejZMrqZK!$Rp&JEWoT>2@Y+cO@ZD;W%_!@2pQPS4w zeHDa5T++v~F>HdFMPJr`lHSiSDF;mRcpw+0a>DM1DPec|13()~&%i8{*l4S+Y2XB4 z(p8=ljHIhPHQ=2A3szhtpel!)6o5r(QmvplX_Ct$C`l)*gQ=KKSXD6Vgtdk=EL_%| z)*Ft$T*b2I(r$r{Jf#H&JI&|jO`5_3EF93D zbxa1_Fu*cs3hgY4U3%@_TuaKuLSwg$$nox*WPhd#{YB-RXe51YFwC4?RHAGpeQj`Q z*9N00f_RQOW(aOYJDgd<=W}KWEd10aPLe>ZueJqtZ*EEA8w_PU>>Vk~jt)tP|MIv} z`DiBMT@uYxzX>96H8!|jY#pzD0=_m^&4UySqaH|6xlUnkDKG91T$-+*_s!6`Qr8qBavo;Plr{#vir3QEmVL literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/Erl.elmi b/app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/Erl.elmi new file mode 100644 index 0000000000000000000000000000000000000000..f257f551911d3d7e0e717058281fb32cf65c9cfa GIT binary patch literal 15793 zcmeHOQBT`25Kfn-3$z^@4@~<5`vH68Z7?P#F|DKBGcv7dD+FnoP0jppKZ@G{tk_j=k>Cbalw?-r#w>sYQ>PuW>a3}W&IN^Vr{C-fE!gOu=$LaEPb%>GbA zJItss1cxL|X)==`jp;n5iO9e{6l^T`GMR&5_*=e+iIR4d*#D*9nkWAUc~Gxspp@ZZ z?}TK_DO3g0;0wK8L3JSPo(qv$=G}{>eyyMvd?)wU(0CArqlkzb#$)B+mHM^i{%Jg0 zr!rn$TVVv3bWZOqVegV=s|Y?O1ky8JB}jwGDvcoKj}XA|u?Gqr;`tD>XSBM~SgWA? z79UDGgMiix9RA&g{yp|KhwB0py+iR4XVViuZr*T z2|kDpN=0Fpw+gD>Z#rF7)xP>YSdi?3l3CvS#!;SDbdBX}DYf3_N)t|&(O^+Pk5pvXvD zz5aiV3H2evRYrM2V(MstR}C-?jfP;Wh9b^jM0uGwL(o)H7)(yaG-PdZdTe&MX>Lc{ zA?_L@m>SldgCc?kLDL#EYN}OVnIn!6N3C&$ph3{I28~KSn(vbwpzXvi+cuITv~}#V zWm9m7wvJu4Z6wEN>*#WA+1(%@wUUDXQ5Bg4<%UK_7S-{Uv-opVV}k5D>lDa)n*wQN z-IvtJS__kM7)Tr7Ks`(um@;gftIptFTsaI1GOp1-H(hR(wGJhrcgo_FB{`Lk@T_fL z;M#w~wZ8+NVMK3)OqLCZHUth2Z@|M3KF%4@hFL@4@FTapF!5sIb-=@&cp)<_Ur-%<*D#YX-4WApxY<9+Gq(ZxVJNBc!Y<(9qOs;!Xz zO#5p?x!s5po)TB)N(Co8yG?ld5?Zd+VY}WnlsnvrQbcL~25dUR?6mI5i=CC#Q1T9r zNFclrUQZ9NL2<&yl?DIjnZbu5@^T0`i>N%>IAP^^JG(1Y$-M2!FVzXnlaWZfAnh`@ zF{Y5xI=>sIcpFZ)>VSA63{Qj=aBOpi7D4l}L8J259$(HEyV1Z0+Qp7MaCMoXkrx{R zOq9shH9%2f+C3yAXb?25K?4&#eR~Q~geYo_B8S0Ie$lYH?}L<2+1X4A4SDa~cyE=! z^ya9!lT&de#%-}myd{NFUtid_;nrOPbC2L^gkN`Ot^GAP_g$hb;P*_o{hsW$oa=Ju I&LHr-2LwL9t^fc4 literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/Erl.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/Erl.elmo new file mode 100644 index 0000000..42835fb --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/Erl.elmo @@ -0,0 +1,443 @@ +var _sporto$erl$Erl$appendPathSegments = F2( + function (segments, url) { + var newPath = A2(_elm_lang$core$List$append, url.path, segments); + return _elm_lang$core$Native_Utils.update( + url, + {path: newPath}); + }); +var _sporto$erl$Erl$removeQuery = F2( + function (key, url) { + var updated = A2( + _elm_lang$core$List$filter, + function (_p0) { + var _p1 = _p0; + return !_elm_lang$core$Native_Utils.eq(_p1._0, key); + }, + url.query); + return _elm_lang$core$Native_Utils.update( + url, + {query: updated}); + }); +var _sporto$erl$Erl$addQuery = F3( + function (key, val, url) { + var updated = _elm_lang$core$List$reverse( + A2( + F2( + function (x, y) { + return {ctor: '::', _0: x, _1: y}; + }), + {ctor: '_Tuple2', _0: key, _1: val}, + _elm_lang$core$List$reverse(url.query))); + return _elm_lang$core$Native_Utils.update( + url, + {query: updated}); + }); +var _sporto$erl$Erl$setQuery = F3( + function (key, val, url) { + var without = A2(_sporto$erl$Erl$removeQuery, key, url); + return A3(_sporto$erl$Erl$addQuery, key, val, without); + }); +var _sporto$erl$Erl$clearQuery = function (url) { + return _elm_lang$core$Native_Utils.update( + url, + { + query: {ctor: '[]'} + }); +}; +var _sporto$erl$Erl$new = { + protocol: '', + username: '', + password: '', + host: {ctor: '[]'}, + path: {ctor: '[]'}, + hasLeadingSlash: false, + hasTrailingSlash: false, + port_: 0, + hash: '', + query: {ctor: '[]'} +}; +var _sporto$erl$Erl$hashToString = function (url) { + return _elm_lang$core$String$isEmpty(url.hash) ? '' : A2(_elm_lang$core$Basics_ops['++'], '#', url.hash); +}; +var _sporto$erl$Erl$trailingSlashComponent = function (url) { + return _elm_lang$core$Native_Utils.eq(url.hasTrailingSlash, true) ? '/' : ''; +}; +var _sporto$erl$Erl$portComponent = function (url) { + var _p2 = url.port_; + switch (_p2) { + case 0: + return ''; + case 80: + return ''; + default: + return A2( + _elm_lang$core$Basics_ops['++'], + ':', + _elm_lang$core$Basics$toString(url.port_)); + } +}; +var _sporto$erl$Erl$hostComponent = function (url) { + return _elm_lang$http$Http$encodeUri( + A2(_elm_lang$core$String$join, '.', url.host)); +}; +var _sporto$erl$Erl$pathComponent = function (url) { + var leadingSlash = ((!_elm_lang$core$Native_Utils.eq( + _sporto$erl$Erl$hostComponent(url), + '')) || url.hasLeadingSlash) ? '/' : ''; + var encoded = A2(_elm_lang$core$List$map, _elm_lang$http$Http$encodeUri, url.path); + return _elm_lang$core$Native_Utils.eq( + _elm_lang$core$List$length(url.path), + 0) ? '' : A2( + _elm_lang$core$Basics_ops['++'], + leadingSlash, + A2(_elm_lang$core$String$join, '/', encoded)); +}; +var _sporto$erl$Erl$protocolComponent = function (url) { + var _p3 = url.protocol; + if (_p3 === '') { + return ''; + } else { + return A2(_elm_lang$core$Basics_ops['++'], url.protocol, '://'); + } +}; +var _sporto$erl$Erl$queryToString = function (url) { + var encodedTuples = A2( + _elm_lang$core$List$map, + function (_p4) { + var _p5 = _p4; + return { + ctor: '_Tuple2', + _0: _elm_lang$http$Http$encodeUri(_p5._0), + _1: _elm_lang$http$Http$encodeUri(_p5._1) + }; + }, + url.query); + var parts = A2( + _elm_lang$core$List$map, + function (_p6) { + var _p7 = _p6; + return A2( + _elm_lang$core$Basics_ops['++'], + _p7._0, + A2(_elm_lang$core$Basics_ops['++'], '=', _p7._1)); + }, + encodedTuples); + return _elm_lang$core$List$isEmpty(url.query) ? '' : A2( + _elm_lang$core$Basics_ops['++'], + '?', + A2(_elm_lang$core$String$join, '&', parts)); +}; +var _sporto$erl$Erl$toString = function (url) { + var hash = _sporto$erl$Erl$hashToString(url); + var query_ = _sporto$erl$Erl$queryToString(url); + var trailingSlash_ = _sporto$erl$Erl$trailingSlashComponent(url); + var path_ = _sporto$erl$Erl$pathComponent(url); + var port_ = _sporto$erl$Erl$portComponent(url); + var host_ = _sporto$erl$Erl$hostComponent(url); + var protocol_ = _sporto$erl$Erl$protocolComponent(url); + return A2( + _elm_lang$core$Basics_ops['++'], + protocol_, + A2( + _elm_lang$core$Basics_ops['++'], + host_, + A2( + _elm_lang$core$Basics_ops['++'], + port_, + A2( + _elm_lang$core$Basics_ops['++'], + path_, + A2( + _elm_lang$core$Basics_ops['++'], + trailingSlash_, + A2(_elm_lang$core$Basics_ops['++'], query_, hash)))))); +}; +var _sporto$erl$Erl$queryStringElementToTuple = function (element) { + var splitted = A2(_elm_lang$core$String$split, '=', element); + var first = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head(splitted)); + var firstDecoded = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$http$Http$decodeUri(first)); + var second = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2(_elm_lang$core$List$drop, 1, splitted))); + var secondDecoded = A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$http$Http$decodeUri(second)); + return {ctor: '_Tuple2', _0: firstDecoded, _1: secondDecoded}; +}; +var _sporto$erl$Erl$parseQuery = function (queryString) { + var splitted = A2(_elm_lang$core$String$split, '&', queryString); + return _elm_lang$core$String$isEmpty(queryString) ? {ctor: '[]'} : A2(_elm_lang$core$List$map, _sporto$erl$Erl$queryStringElementToTuple, splitted); +}; +var _sporto$erl$Erl$extractQuery = function (str) { + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$String$split, + '#', + A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$drop, + 1, + A2(_elm_lang$core$String$split, '?', str))))))); +}; +var _sporto$erl$Erl$queryFromAll = function (all) { + return _sporto$erl$Erl$parseQuery( + _sporto$erl$Erl$extractQuery(all)); +}; +var _sporto$erl$Erl$extractHash = function (str) { + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$drop, + 1, + A2(_elm_lang$core$String$split, '#', str)))); +}; +var _sporto$erl$Erl$hashFromAll = function (str) { + return _sporto$erl$Erl$extractHash(str); +}; +var _sporto$erl$Erl$parseHost = function (str) { + return A2(_elm_lang$core$String$split, '.', str); +}; +var _sporto$erl$Erl$extractProtocol = function (str) { + var parts = A2(_elm_lang$core$String$split, '://', str); + var _p8 = _elm_lang$core$List$length(parts); + if (_p8 === 1) { + return ''; + } else { + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head(parts)); + } +}; +var _sporto$erl$Erl$extractPort = function (str) { + var rx = _elm_lang$core$Regex$regex(':\\d+'); + var res = A3( + _elm_lang$core$Regex$find, + _elm_lang$core$Regex$AtMost(1), + rx, + str); + return function (result) { + var _p9 = result; + if (_p9.ctor === 'Ok') { + return _p9._0; + } else { + var _p10 = _sporto$erl$Erl$extractProtocol(str); + switch (_p10) { + case 'http': + return 80; + case 'https': + return 443; + case 'ftp': + return 21; + case 'sftp': + return 22; + default: + return 0; + } + } + }( + _elm_lang$core$String$toInt( + A2( + _elm_lang$core$String$dropLeft, + 1, + A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$map, + function (_) { + return _.match; + }, + res)))))); +}; +var _sporto$erl$Erl$leftFrom = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + var head = _elm_lang$core$List$head(parts); + var _p11 = _elm_lang$core$List$length(parts); + switch (_p11) { + case 0: + return ''; + case 1: + return ''; + default: + return A2(_elm_lang$core$Maybe$withDefault, '', head); + } + }); +var _sporto$erl$Erl$leftFromOrSame = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head(parts)); + }); +var _sporto$erl$Erl$rightFromOrSame = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + _elm_lang$core$List$reverse(parts))); + }); +var _sporto$erl$Erl$extractHost = function (str) { + var localhostRx = 'localhost'; + var dotsRx = '((\\w|-)+\\.)+(\\w|-)+'; + var rx = A2( + _elm_lang$core$Basics_ops['++'], + '(', + A2( + _elm_lang$core$Basics_ops['++'], + dotsRx, + A2( + _elm_lang$core$Basics_ops['++'], + '|', + A2(_elm_lang$core$Basics_ops['++'], localhostRx, ')')))); + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + A2( + _elm_lang$core$List$map, + function (_) { + return _.match; + }, + A3( + _elm_lang$core$Regex$find, + _elm_lang$core$Regex$AtMost(1), + _elm_lang$core$Regex$regex(rx), + A2( + _sporto$erl$Erl$leftFromOrSame, + '/', + A2(_sporto$erl$Erl$rightFromOrSame, '//', str)))))); +}; +var _sporto$erl$Erl$host = function (str) { + return _sporto$erl$Erl$parseHost( + _sporto$erl$Erl$extractHost(str)); +}; +var _sporto$erl$Erl$extractPath = function (str) { + var host = _sporto$erl$Erl$extractHost(str); + return A4( + _elm_lang$core$Regex$replace, + _elm_lang$core$Regex$AtMost(1), + _elm_lang$core$Regex$regex(':\\d+'), + function (_p12) { + return ''; + }, + A4( + _elm_lang$core$Regex$replace, + _elm_lang$core$Regex$AtMost(1), + _elm_lang$core$Regex$regex(host), + function (_p13) { + return ''; + }, + A2( + _sporto$erl$Erl$leftFromOrSame, + '#', + A2( + _sporto$erl$Erl$leftFromOrSame, + '?', + A2(_sporto$erl$Erl$rightFromOrSame, '//', str))))); +}; +var _sporto$erl$Erl$hasLeadingSlashFromAll = function (str) { + return A2( + _elm_lang$core$Regex$contains, + _elm_lang$core$Regex$regex('^/'), + _sporto$erl$Erl$extractPath(str)); +}; +var _sporto$erl$Erl$hasTrailingSlashFromAll = function (str) { + return A2( + _elm_lang$core$Regex$contains, + _elm_lang$core$Regex$regex('/$'), + _sporto$erl$Erl$extractPath(str)); +}; +var _sporto$erl$Erl$rightFrom = F2( + function (delimiter, str) { + var parts = A2(_elm_lang$core$String$split, delimiter, str); + var _p14 = _elm_lang$core$List$length(parts); + switch (_p14) { + case 0: + return ''; + case 1: + return ''; + default: + return A2( + _elm_lang$core$Maybe$withDefault, + '', + _elm_lang$core$List$head( + _elm_lang$core$List$reverse(parts))); + } + }); +var _sporto$erl$Erl$notEmpty = function (str) { + return !_elm_lang$core$String$isEmpty(str); +}; +var _sporto$erl$Erl$parsePath = function (str) { + return A2( + _elm_lang$core$List$map, + _elm_lang$core$Maybe$withDefault(''), + A2( + _elm_lang$core$List$map, + _elm_lang$http$Http$decodeUri, + A2( + _elm_lang$core$List$filter, + _sporto$erl$Erl$notEmpty, + A2(_elm_lang$core$String$split, '/', str)))); +}; +var _sporto$erl$Erl$pathFromAll = function (str) { + return _sporto$erl$Erl$parsePath( + _sporto$erl$Erl$extractPath(str)); +}; +var _sporto$erl$Erl$parse = function (str) { + return { + host: _sporto$erl$Erl$host(str), + hash: _sporto$erl$Erl$hashFromAll(str), + password: '', + path: _sporto$erl$Erl$pathFromAll(str), + hasLeadingSlash: _sporto$erl$Erl$hasLeadingSlashFromAll(str), + hasTrailingSlash: _sporto$erl$Erl$hasTrailingSlashFromAll(str), + port_: _sporto$erl$Erl$extractPort(str), + protocol: _sporto$erl$Erl$extractProtocol(str), + query: _sporto$erl$Erl$queryFromAll(str), + username: '' + }; +}; +var _sporto$erl$Erl$Url = function (a) { + return function (b) { + return function (c) { + return function (d) { + return function (e) { + return function (f) { + return function (g) { + return function (h) { + return function (i) { + return function (j) { + return {protocol: a, username: b, password: c, host: d, port_: e, path: f, hasLeadingSlash: g, hasTrailingSlash: h, hash: i, query: j}; + }; + }; + }; + }; + }; + }; + }; + }; + }; +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/sporto/erl/11.0.0/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..41383243f59bcc5d10b0790c4a92446a7084f632 GIT binary patch literal 1251 zcmb`GTMmLS5JgcaAu(|$Qrv=%#1BmjxPej&HdY~hB)WT1r_kn`kbJ%;dkPOxcv@X`Sx8YPnu)(=#T|&&}w{mv>+yo^ss+V+u2Ez(N%Dvm)7nV z`}-W*ggDQYV-XT*S$$RDoaKCboluqE-GXO~@Hj70k>$qB@{V}{?h(ABdnxJ8bH)p* zSgJhlWWn^BDebw#Gq`L&^BhTp*r}|yUEd)iizCT!Q zvmwZ)N<3=ubFM1xlZ!W6vci`Uy;LPfdS{qxJ|{?ZL`i`3NZ1u<5rY7Td%3^jro^g= z)N{_J>s-dk{_Gg8)c?Q)a^do74$YuavXQD)mbfE`;E~`@E!5 zGtER%kF)CQRHLdXT2DzF4EC!Q_3o&b67C8EGUWlJI~k@y2bLV(lede4IvvEFY0=C; zJ9a(9t$Xs;4)YD1wLco!hWdeFan5*~1KpL_@Ts?P%f|o)ih(6+J9clJYSB_Xrptss Oa%qM3BpV_WNHUt;1H8WMKBsjo2ggCvIpJOJ4ErT$U4cE2~14#;_L=%P_zu9e# z;VqGCy(Spyj1h|A5ih~sV$=Zq(*5N|cx70;oB>7q}1Ce;LNlegFUf literal 0 HcmV?d00001 diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/BitList.elmo b/app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/BitList.elmo new file mode 100644 index 0000000..7e552c2 --- /dev/null +++ b/app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/BitList.elmo @@ -0,0 +1,90 @@ +var _truqu$elm_base64$BitList$partition = F2( + function (size, list) { + if (_elm_lang$core$Native_Utils.cmp( + _elm_lang$core$List$length(list), + size) < 1) { + return { + ctor: '::', + _0: list, + _1: {ctor: '[]'} + }; + } else { + var partitionTail = F3( + function (size, list, res) { + partitionTail: + while (true) { + var _p0 = list; + if (_p0.ctor === '[]') { + return res; + } else { + var _v1 = size, + _v2 = A2(_elm_lang$core$List$drop, size, list), + _v3 = { + ctor: '::', + _0: A2(_elm_lang$core$List$take, size, list), + _1: res + }; + size = _v1; + list = _v2; + res = _v3; + continue partitionTail; + } + } + }); + return _elm_lang$core$List$reverse( + A3( + partitionTail, + size, + list, + {ctor: '[]'})); + } + }); +var _truqu$elm_base64$BitList$toByteReverse = function (bitList) { + var _p1 = bitList; + if (_p1.ctor === '[]') { + return 0; + } else { + if (_p1._0.ctor === 'Off') { + return 2 * _truqu$elm_base64$BitList$toByteReverse(_p1._1); + } else { + return 1 + (2 * _truqu$elm_base64$BitList$toByteReverse(_p1._1)); + } + } +}; +var _truqu$elm_base64$BitList$toByte = function (bitList) { + return _truqu$elm_base64$BitList$toByteReverse( + _elm_lang$core$List$reverse(bitList)); +}; +var _truqu$elm_base64$BitList$Off = {ctor: 'Off'}; +var _truqu$elm_base64$BitList$On = {ctor: 'On'}; +var _truqu$elm_base64$BitList$fromNumber = function ($int) { + return _elm_lang$core$Native_Utils.eq($int, 0) ? {ctor: '[]'} : (_elm_lang$core$Native_Utils.eq( + A2(_elm_lang$core$Basics_ops['%'], $int, 2), + 1) ? A2( + _elm_lang$core$List$append, + _truqu$elm_base64$BitList$fromNumber(($int / 2) | 0), + { + ctor: '::', + _0: _truqu$elm_base64$BitList$On, + _1: {ctor: '[]'} + }) : A2( + _elm_lang$core$List$append, + _truqu$elm_base64$BitList$fromNumber(($int / 2) | 0), + { + ctor: '::', + _0: _truqu$elm_base64$BitList$Off, + _1: {ctor: '[]'} + })); +}; +var _truqu$elm_base64$BitList$fromNumberWithSize = F2( + function (number, size) { + var bitList = _truqu$elm_base64$BitList$fromNumber(number); + var paddingSize = size - _elm_lang$core$List$length(bitList); + return A2( + _elm_lang$core$List$append, + A2(_elm_lang$core$List$repeat, paddingSize, _truqu$elm_base64$BitList$Off), + bitList); + }); +var _truqu$elm_base64$BitList$fromByte = function ($byte) { + return A2(_truqu$elm_base64$BitList$fromNumberWithSize, $byte, 8); +}; diff --git a/app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/graph.dat b/app/templates/client/elm-stuff/build-artifacts/0.18.0/truqu/elm-base64/1.0.5/graph.dat new file mode 100644 index 0000000000000000000000000000000000000000..1892bf9f5af35b05f665bed6108d76ac0baa7511 GIT binary patch literal 2689 zcmeHJOHRWu5H%2o3YMIM7^H$=N!ukzh;jkPb&7>ci$9Cr9@5N&5UC5|Vb^RXwlgpD zePhOU&v7Fd4=#R2Se$9Qx-6yFw`15j0*Qk6_VY>i>$_Uthgel&Bh|ZHYA<&9;s;n< z7gxoN@J@+FxA;B-)PcrafcmKZih@O*#sTUbK&vq!4CCQQ*`aW|SxJjn8x$u{V-}-KokH z9R4J?B{paZP)?RLx{Bnlabqc*8$DYYs)`](http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Basics#|>) +operator and plain function calls. + +## Motivation + +It's common to decode into a record that has a `type alias`. Here's an example +of this from the [`object3`](http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Json-Decode#object3) +docs: + +```elm +type alias Job = { name : String, id : Int, completed : Bool } + +point : Decoder Job +point = + object3 Job + ("name" := string) + ("id" := int) + ("completed" := bool) +``` + +This works because a record type alias can be called as a normal function. In +that case it accepts one argument for each field (in whatever order the fields +are declared in the type alias) and then returns an appropriate record built +with those arguments. + +The `objectN` decoders are straightforward, but require manually changing N +whenever the field count changes. This library provides functions designed to +be used with the `|>` operator, with the goal of having decoders that are both +easy to read and easy to modify. + +## Examples + +Here is a decoder built with this library. + +```elm +import Json.Decode exposing (int, string, float, Decoder) +import Json.Decode.Pipeline exposing (decode, required, optional, hardcoded) + + +type alias User = + { id : Int + , email : Maybe String + , name : String + , percentExcited : Float + } + + +userDecoder : Decoder User +userDecoder = + decode User + |> required "id" int + |> required "email" (nullable string) -- `null` decodes to `Nothing` + |> optional "name" string "(fallback if name is `null` or not present)" + |> hardcoded 1.0 +``` + +In this example: + +* `decode` is a synonym for [`succeed`](http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Json-Decode#succeed) (it just reads better here) +* `required "id" int` is similar to `("id" := int)` +* `optional` is like `required`, but if the field is either `null` or not present, decoding does not fail; instead it succeeds with the provided fallback value. +* `hardcoded` does not look at the provided JSON, and instead always decodes to the same value. + +You could use this decoder as follows: + +```elm +Json.Decode.decodeString + userDecoder + """ + {"id": 123, "email": "sam@example.com", "name": "Sam Sample"} + """ +``` + +The result would be: + +```elm +{ id = 123 +, email = "sam@example.com" +, name = "Sam Sample" +, percentExcited = 1.0 +} +``` + +Alternatively, you could use it like so: + +```elm +Json.Decode.decodeString + userDecoder + """ + {"id": 123, "email": "sam@example.com", "percentExcited": "(hardcoded)"} + """ +``` + +In this case, the result would be: + +```elm +{ id = 123 +, email = "sam@example.com" +, name = "(fallback if name not present)" +, percentExcited = 1.0 +} +``` + +--- +[![NoRedInk](https://cloud.githubusercontent.com/assets/1094080/9069346/99522418-3a9d-11e5-8175-1c2bfd7a2ffe.png)][team] +[team]: http://noredink.com/about/team diff --git a/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json new file mode 100644 index 0000000..06af200 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json @@ -0,0 +1,16 @@ +{ + "version": "3.0.0", + "summary": "A pipeline-friendly library for building JSON decoders.", + "repository": "https://github.com/NoRedInk/elm-decode-pipeline.git", + "license": "BSD-3-Clause", + "source-directories": [ + "src" + ], + "exposed-modules": [ + "Json.Decode.Pipeline" + ], + "dependencies": { + "elm-lang/core": "5.0.0 <= v < 6.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm new file mode 100644 index 0000000..3b83e15 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm @@ -0,0 +1,19 @@ +module Example exposing (..) + +import Json.Decode exposing (int, string, float, Decoder) +import Json.Decode.Pipeline exposing (decode, required, optional, hardcoded) + + +type alias User = + { id : Int + , name : String + , percentExcited : Float + } + + +userDecoder : Decoder User +userDecoder = + decode User + |> required "id" int + |> optional "name" string "(fallback if name not present)" + |> hardcoded 1.0 diff --git a/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm new file mode 100644 index 0000000..15eab71 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm @@ -0,0 +1,292 @@ +module Json.Decode.Pipeline exposing (required, requiredAt, optional, optionalAt, resolve, decode, hardcoded, custom) + +{-| # Json.Decode.Pipeline + +Use the `(|>)` operator to build JSON decoders. + +## Decoding fields + +@docs required, requiredAt, optional, optionalAt, hardcoded, custom + +## Beginning and ending pipelines + +@docs decode, resolve + +-} + +import Json.Decode as Decode exposing (Decoder) + + +{-| Decode a required field. + + import Json.Decode exposing (int, string, Decoder) + import Decode.Pipeline exposing (decode, required) + + + type alias User = + { id : Int + , name : String + , email : String + } + + + userDecoder : Decoder User + userDecoder = + decode User + |> required "id" int + |> required "name" string + |> required "email" string + + + result : Result String User + result = + Decode.decodeString + userDecoder + """ + {"id": 123, "email": "sam@example.com", "name": "Sam"} + """ + -- Ok { id = 123, name = "Sam", email = "sam@example.com" } +-} +required : String -> Decoder a -> Decoder (a -> b) -> Decoder b +required key valDecoder decoder = + custom (Decode.field key valDecoder) decoder + + +{-| Decode a required nested field. +-} +requiredAt : List String -> Decoder a -> Decoder (a -> b) -> Decoder b +requiredAt path valDecoder decoder = + custom (Decode.at path valDecoder) decoder + + +{-| Decode a field that may be missing or have a null value. If the field is +missing, then it decodes as the `fallback` value. If the field is present, +then `valDecoder` is used to decode its value. If `valDecoder` fails on a +`null` value, then the `fallback` is used as if the field were missing +entirely. + + import Json.Decode exposing (int, string, null, oneOf, Decoder) + import Decode.Pipeline exposing (decode, required, optional) + + + type alias User = + { id : Int + , name : String + , email : String + } + + + userDecoder : Decoder User + userDecoder = + decode User + |> required "id" int + |> optional "name" string "blah" + |> required "email" string + + + result : Result String User + result = + Decode.decodeString + userDecoder + """ + {"id": 123, "email": "sam@example.com" } + """ + -- Ok { id = 123, name = "blah", email = "sam@example.com" } + +Because `valDecoder` is given an opportunity to decode `null` values before +resorting to the `fallback`, you can distinguish between missing and `null` +values if you need to: + + userDecoder2 = + decode User + |> required "id" int + |> optional "name" (oneOf [ string, null "NULL" ]) "MISSING" + |> required "email" string + +-} +optional : String -> Decoder a -> a -> Decoder (a -> b) -> Decoder b +optional key valDecoder fallback decoder = + custom (optionalDecoder (Decode.field key Decode.value) valDecoder fallback) decoder + + +{-| Decode an optional nested field. +-} +optionalAt : List String -> Decoder a -> a -> Decoder (a -> b) -> Decoder b +optionalAt path valDecoder fallback decoder = + custom (optionalDecoder (Decode.at path Decode.value) valDecoder fallback) decoder + + +optionalDecoder : Decoder Decode.Value -> Decoder a -> a -> Decoder a +optionalDecoder pathDecoder valDecoder fallback = + let + nullOr decoder = + Decode.oneOf [ decoder, Decode.null fallback ] + + handleResult input = + case Decode.decodeValue pathDecoder input of + Ok rawValue -> + -- The field was present, so now let's try to decode that value. + -- (If it was present but fails to decode, this should and will fail!) + case Decode.decodeValue (nullOr valDecoder) rawValue of + Ok finalResult -> + Decode.succeed finalResult + + Err finalErr -> + Decode.fail finalErr + + Err _ -> + -- The field was not present, so use the fallback. + Decode.succeed fallback + in + Decode.value + |> Decode.andThen handleResult + + +{-| Rather than decoding anything, use a fixed value for the next step in the +pipeline. `harcoded` does not look at the JSON at all. + + import Json.Decode exposing (int, string, Decoder) + import Decode.Pipeline exposing (decode, required) + + + type alias User = + { id : Int + , email : String + , followers : Int + } + + + userDecoder : Decoder User + userDecoder = + decode User + |> required "id" int + |> required "email" string + |> hardcoded 0 + + + result : Result String User + result = + Decode.decodeString + userDecoder + """ + {"id": 123, "email": "sam@example.com"} + """ + -- Ok { id = 123, email = "sam@example.com", followers = 0 } +-} +hardcoded : a -> Decoder (a -> b) -> Decoder b +hardcoded = + Decode.succeed >> custom + + +{-| Run the given decoder and feed its result into the pipeline at this point. + +Consider this example. + + import Json.Decode exposing (int, string, at, Decoder) + import Decode.Pipeline exposing (decode, required, custom) + + + type alias User = + { id : Int + , name : String + , email : String + } + + + userDecoder : Decoder User + userDecoder = + decode User + |> required "id" int + |> custom (at [ "profile", "name" ] string) + |> required "email" string + + + result : Result String User + result = + Decode.decodeString + userDecoder + """ + { + "id": 123, + "email": "sam@example.com", + "profile": {"name": "Sam"} + } + """ + -- Ok { id = 123, name = "Sam", email = "sam@example.com" } +-} +custom : Decoder a -> Decoder (a -> b) -> Decoder b +custom = + Decode.map2 (|>) + + +{-| Convert a `Decoder (Result x a)` into a `Decoder a`. Useful when you want +to perform some custom processing just before completing the decoding operation. + + import Json.Decode exposing (int, string, float, Decoder) + import Decode.Pipeline exposing + (decode, required, resolve) + + + type alias User = + { id : Int + , email : String + } + + + userDecoder : Decoder User + userDecoder = + let + -- toDecoder gets run *after* all the + -- (|> required ...) steps are done. + toDecoder : Int -> String -> Int -> Decoder User + toDecoder id email version = + if version > 2 then + succeed (User id email) + else + fail "This JSON is from a deprecated source. Please upgrade!" + in + decode toDecoder + |> required "id" int + |> required "email" string + |> required "version" int -- version is part of toDecoder, + |> resolve -- but it is not a part of User + + + result : Result String User + result = + Decode.decodeString + userDecoder + """ + {"id": 123, "email": "sam@example.com", "version": 1} + """ + -- Err "This JSON is from a deprecated source. Please upgrade!" +-} +resolve : Decoder (Decoder a) -> Decoder a +resolve = + Decode.andThen identity + + +{-| Begin a decoding pipeline. This is a synonym for [Json.Decode.succeed](http://package.elm-lang.org/packages/elm-lang/core/latest/Json-Decode#succeed), +intended to make things read more clearly. + + import Json.Decode exposing (int, string, float, Decoder) + import Json.Decode.Pipeline exposing (decode, required, optional) + + + type alias User = + { id : Int + , email : String + , name : String + } + + + userDecoder : Decoder User + userDecoder = + decode User + |> required "id" int + |> required "email" string + |> optional "name" string "" +-} +decode : a -> Decoder a +decode = + Decode.succeed diff --git a/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore new file mode 100644 index 0000000..aee9810 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore @@ -0,0 +1 @@ +/elm-stuff/ diff --git a/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm new file mode 100644 index 0000000..532f8e6 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm @@ -0,0 +1,19 @@ +port module Main exposing (..) + +{-| +Run the tests with node-test-runner: + +https://github.com/rtfeldman/node-test-runner +-} + +import Tests +import Test.Runner.Node exposing (run) +import Json.Encode exposing (Value) + + +main : Program Never +main = + run emit Tests.all + + +port emit : ( String, Value ) -> Cmd msg diff --git a/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm new file mode 100644 index 0000000..f4bcaa1 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm @@ -0,0 +1,114 @@ +module Tests exposing (..) + +import Test exposing (..) +import Expect exposing (Expectation) +import Json.Decode.Pipeline + exposing + ( decode + , required + , requiredAt + , optional + , optionalAt + , resolveResult + ) +import Json.Decode exposing (Decoder, string, null) + + +{-| Run some JSON through a Decoder and return the result. +-} +runWith : String -> Decoder a -> Result String a +runWith = + flip Json.Decode.decodeString + + +isError : Result err ok -> Bool +isError result = + case result of + Err _ -> + True + + Ok _ -> + False + + +expectErr : Result err ok -> Expectation +expectErr result = + isError result + |> Expect.true ("Expected an Err but got " ++ toString result) + + +all : Test +all = + describe + "Json.Decode.Pipeline" + [ test "should decode basic example" <| + \() -> + decode (,) + |> required "a" string + |> required "b" string + |> runWith """{"a":"foo","b":"bar"}""" + |> Expect.equal (Ok ( "foo", "bar" )) + , test "should decode requiredAt fields" <| + \() -> + decode (,) + |> requiredAt [ "a" ] string + |> requiredAt [ "b", "c" ] string + |> runWith """{"a":"foo","b":{"c":"bar"}}""" + |> Expect.equal (Ok ( "foo", "bar" )) + , test "should decode optionalAt fields" <| + \() -> + decode (,) + |> optionalAt [ "a", "b" ] string "--" + |> optionalAt [ "x", "y" ] string "--" + |> runWith """{"a":{},"x":{"y":"bar"}}""" + |> Expect.equal (Ok ( "--", "bar" )) + , test "optional succeeds if the field is not present" <| + \() -> + decode (,) + |> optional "a" string "--" + |> optional "x" string "--" + |> runWith """{"x":"five"}""" + |> Expect.equal (Ok ( "--", "five" )) + , test "optional succeeds with fallback if the field is present but null" <| + \() -> + decode (,) + |> optional "a" string "--" + |> optional "x" string "--" + |> runWith """{"a":null,"x":"five"}""" + |> Expect.equal (Ok ( "--", "five" )) + , test "optional succeeds with result of the given decoder if the field is null and the decoder decodes nulls" <| + \() -> + decode (,) + |> optional "a" (null "null") "--" + |> optional "x" string "--" + |> runWith """{"a":null,"x":"five"}""" + |> Expect.equal (Ok ( "null", "five" )) + , test "optional fails if the field is present but doesn't decode" <| + \() -> + decode (,) + |> optional "a" string "--" + |> optional "x" string "--" + |> runWith """{"x":5}""" + |> expectErr + , test "optionalAt fails if the field is present but doesn't decode" <| + \() -> + decode (,) + |> optionalAt [ "a", "b" ] string "--" + |> optionalAt [ "x", "y" ] string "--" + |> runWith """{"a":{},"x":{"y":5}}""" + |> expectErr + , test "resolveResult bubbles up decoded Err results" <| + \() -> + decode Err + |> required "error" string + |> resolveResult + |> runWith """{"error":"invalid"}""" + |> expectErr + , test "resolveResult bubbles up decoded Ok results" <| + \() -> + decode Ok + |> required "ok" string + |> resolveResult + |> runWith """{"ok":"valid"}""" + |> Expect.equal (Ok "valid") + ] diff --git a/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json new file mode 100644 index 0000000..4513220 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json @@ -0,0 +1,17 @@ +{ + "version": "1.0.0", + "summary": "Sample Elm Test", + "repository": "https://github.com/user/project.git", + "license": "BSD-3-Clause", + "source-directories": [ + ".", + "../src" + ], + "exposed-modules": [], + "dependencies": { + "elm-lang/core": "5.0.0 <= v < 6.0.0", + "elm-community/elm-test": "2.0.0 <= v < 3.0.0", + "rtfeldman/node-test-runner": "1.0.0 <= v < 2.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.gitignore b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.gitignore new file mode 100644 index 0000000..3ce2c7d --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.gitignore @@ -0,0 +1,5 @@ +*~ +node_modules/ +elm-stuff/ +docs/ +*.html diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.travis.yml b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.travis.yml new file mode 100644 index 0000000..267ad1c --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/.travis.yml @@ -0,0 +1,46 @@ +sudo: false + +cache: + directories: + - test/elm-stuff/build-artifacts + - sysconfcpus + +os: + - osx + - linux + +env: + matrix: + - ELM_VERSION=0.18.0-beta TARGET_NODE_VERSION=node + - ELM_VERSION=0.18.0-beta TARGET_NODE_VERSION=4.0 + +before_install: + - if [ ${TRAVIS_OS_NAME} == "osx" ]; + then brew update; brew install nvm; mkdir ~/.nvm; export NVM_DIR=~/.nvm; source $(brew --prefix nvm)/nvm.sh; + fi + - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config + - | # epic build time improvement - see https://github.com/elm-lang/elm-compiler/issues/1473#issuecomment-245704142 + if [ ! -d sysconfcpus/bin ]; + then + git clone https://github.com/obmarg/libsysconfcpus.git; + cd libsysconfcpus; + ./configure --prefix=$TRAVIS_BUILD_DIR/sysconfcpus; + make && make install; + cd ..; + fi + +install: + - nvm install $TARGET_NODE_VERSION + - nvm use $TARGET_NODE_VERSION + - node --version + - npm --version + - cd tests + - npm install -g elm@$ELM_VERSION elm-test + - mv $(npm config get prefix)/bin/elm-make $(npm config get prefix)/bin/elm-make-old + - printf '%s\n\n' '#!/bin/bash' 'echo "Running elm-make with sysconfcpus -n 2"' '$TRAVIS_BUILD_DIR/sysconfcpus/bin/sysconfcpus -n 2 elm-make-old "$@"' > $(npm config get prefix)/bin/elm-make + - chmod +x $(npm config get prefix)/bin/elm-make + - npm install + - elm package install --yes + +script: + - npm test diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/LICENSE b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/LICENSE new file mode 100644 index 0000000..9a5e944 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2016 Richard Feldman and Max Goldstein +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of elm-test nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/README.md b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/README.md new file mode 100644 index 0000000..f52cdb4 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/README.md @@ -0,0 +1,107 @@ +# elm-test [![Travis build Status](https://travis-ci.org/elm-community/elm-test.svg?branch=master)](http://travis-ci.org/elm-community/elm-test) + +Write unit and fuzz tests for your Elm code, in Elm. + +## Quick Start + +Here are three example tests: + +```elm +suite : Test +suite = + describe "The String module" + [ describe "String.reverse" -- Nest as many descriptions as you like. + [ test "has no effect on a palindrome" <| + \() -> + let + palindrome = + "hannah" + in + Expect.equal palindrome (String.reverse palindrome) + + -- Expect.equal is designed to be used in pipeline style, like this. + , test "reverses a known string" <| + \() -> + "ABCDEFG" + |> String.reverse + |> Expect.equal "GFEDCBA" + + -- fuzz runs the test 100 times with randomly-generated inputs! + , fuzz string "restores the original string if you run it again" <| + \randomlyGeneratedString -> + randomlyGeneratedString + |> String.reverse + |> String.reverse + |> Expect.equal randomlyGeneratedString + ] + ] +``` + +This code uses a few common functions: + +* [`describe`](http://package.elm-lang.org/packages/elm-community/elm-test/latest/Test#test) to add a description string to a list of tests +* [`test`](http://package.elm-lang.org/packages/elm-community/elm-test/latest/Test#test) to write a unit test +* [`Expect`](http://package.elm-lang.org/packages/elm-community/elm-test/latest/Expect) to determine if a test should pass or fail +* [`fuzz`](http://package.elm-lang.org/packages/elm-community/elm-test/latest/Test#fuzz) to run a function that produces a test several times with randomly-generated inputs + +Check out [a large real-world test suite](https://github.com/rtfeldman/elm-css/tree/master/tests) for more. + +### Running tests locally + +There are several ways you can run tests locally: + +* [from your terminal](https://github.com/rtfeldman/node-test-runner) via `npm install -g elm-test` +* [from your browser](https://github.com/rtfeldman/html-test-runner) + +Here's how to set up and run your tests using the CLI test runner: + +1. Run `npm install -g elm-test` if you haven't already. +2. `cd` into the project's root directory that has your `elm-package.json`. +3. Run `elm-test init`. It will create a `tests` directory inside this one, + with some files in it. +4. Copy all the dependencies from `elm-package.json` into + `tests/elm-package.json`. These dependencies need to stay in sync, so make + sure whenever you change your dependencies in your current + `elm-package.json`, you make the same change to `tests/elm-package.json`. +5. Run `elm-test`. +6. Edit `tests/Tests.elm` to introduce new tests. + +### Running tests on CI + +Here are some examples of running tests on CI servers: + +* [`travis.yml`](https://github.com/rtfeldman/elm-css/blob/6ba8404f53269bc110c2e08ab24c9caf850da515/.travis.yml) +* [`appveyor.yml`](https://github.com/rtfeldman/elm-css/blob/6ba8404f53269bc110c2e08ab24c9caf850da515/appveyor.yml) + +## Strategies for effective testing + +* [Make impossible states unrepresentable](https://www.youtube.com/watch?v=IcgmSRJHu_8) so that you don't have to test that they can't occur. +* When doing TDD, treat compiler errors as a red test. So feel free to write the test you wish you had even if it means calling functions that don't exist yet! +* How do you know when to stop testing? This is an engineering tradeoff without a perfect answer. If you don't feel confident in the correctness of your code, write more tests. If you feel you are wasting time testing better spent writing your application, stop writing tests for now. +* Prefer fuzz tests to unit tests, when possible. But don't be afraid to supplement them with unit tests for tricky cases and regressions. +* For simple functions, it's okay to copy the implementation to the test; this is a useful regression check. But if the implementation isn't obviously right, try to write tests that don't duplicate the suspect logic. The great thing about fuzz tests is that you don't have to arrive at the exact same value as the code under test, just state something that will be true of that value. +* If you're writing a library that wraps an existing standard or protocol, use examples from the specification or docs as unit tests. Anything in your README should be backed by a unit test (sadly there's no easy way to keep them in sync). +* Not even your test modules can import unexposed functions, so test them only as the exposed interface uses them. Don't expose a function just to test it. Every exposed function should have tests. (If you practice TDD, this happens automatically!) +* `elm-test` is designed to test functions, not effects. To test them, use [elm-testable](http://package.elm-lang.org/packages/avh4/elm-testable/latest). For integration or end-to-end testing, use your favorite PhantomJS or Selenium webdriver, such as Capybara. + +## Upgrading +### From 0.17 +You will need to delete `elm-stuff` and `tests/elm-stuff`. + +If you are using the Node runner, you will need to pull down the new `Main.elm`: `curl -o tests/Main.elm https://raw.githubusercontent.com/rtfeldman/node-test-runner/master/templates/Main.elm` + +### From the old elm-test +[`legacy-elm-test`](http://package.elm-lang.org/packages/rtfeldman/legacy-elm-test/latest) provides a +drop-in replacement for the `ElmTest 1.0` API, except implemented in terms of +the current `elm-test`. It also includes support for `elm-check` tests. + +This lets you use the latest test runners right now, and upgrade incrementally. + +## Releases +| Version | Notes | +| ------- | ----- | +| [**3.1.0**](https://github.com/elm-community/elm-test/tree/3.1.0) | Add Expect.all +| [**3.0.0**](https://github.com/elm-community/elm-test/tree/3.0.0) | Update for Elm 0.18; switch the argument order of `Fuzz.andMap`. +| [**2.1.0**](https://github.com/elm-community/elm-test/tree/2.1.0) | Switch to rose trees for `Fuzz.andThen`, other API additions. +| [**2.0.0**](https://github.com/elm-community/elm-test/tree/2.0.0) | Scratch-rewrite to project-fuzzball +| [**1.0.0**](https://github.com/elm-community/elm-test/tree/1.0.0) | ElmTest initial release diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/elm-package.json b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/elm-package.json new file mode 100644 index 0000000..9b1cc00 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/elm-package.json @@ -0,0 +1,22 @@ +{ + "version": "3.1.0", + "summary": "Unit and Fuzz testing support with Console/Html/String outputs.", + "repository": "https://github.com/elm-community/elm-test.git", + "license": "BSD-3-Clause", + "source-directories": [ + "src" + ], + "exposed-modules": [ + "Test", + "Test.Runner", + "Expect", + "Fuzz" + ], + "dependencies": { + "elm-community/lazy-list": "1.0.0 <= v < 2.0.0", + "elm-community/shrink": "2.0.0 <= v < 3.0.0", + "elm-lang/core": "5.0.0 <= v < 6.0.0", + "mgold/elm-random-pcg": "4.0.2 <= v < 5.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Expect.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Expect.elm new file mode 100644 index 0000000..61916f8 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Expect.elm @@ -0,0 +1,649 @@ +module Expect + exposing + ( Expectation + , pass + , fail + , getFailure + , equal + , notEqual + , atMost + , lessThan + , greaterThan + , atLeast + , true + , false + , equalLists + , equalDicts + , equalSets + , onFail + , all + ) + +{-| A library to create `Expectation`s, which describe a claim to be tested. + +## Quick Reference + +* [`equal`](#equal) `(arg2 == arg1)` +* [`notEqual`](#notEqual) `(arg2 /= arg1)` +* [`lessThan`](#lessThan) `(arg2 < arg1)` +* [`atMost`](#atMost) `(arg2 <= arg1)` +* [`greaterThan`](#greaterThan) `(arg2 > arg1)` +* [`atLeast`](#atLeast) `(arg2 >= arg1)` +* [`true`](#true) `(arg == True)` +* [`false`](#false) `(arg == False)` + +## Basic Expectations + +@docs Expectation, equal, notEqual, all + +## Comparisons + +@docs lessThan, atMost, greaterThan, atLeast + +## Booleans + +@docs true, false + +## Collections + +@docs equalLists, equalDicts, equalSets + +## Customizing + +@docs pass, fail, onFail, getFailure +-} + +import Test.Expectation +import Dict exposing (Dict) +import Set exposing (Set) +import String + + +{-| The result of a single test run: either a [`pass`](#pass) or a +[`fail`](#fail). +-} +type alias Expectation = + Test.Expectation.Expectation + + +{-| Passes if the arguments are equal. + + Expect.equal 0 (List.length []) + + -- Passes because (0 == 0) is True + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because the expected value didn't split the space in "Betty Botter" + String.split " " "Betty Botter bought some butter" + |> Expect.equal [ "Betty Botter", "bought", "some", "butter" ] + + {- + + [ "Betty", "Botter", "bought", "some", "butter" ] + ╷ + │ Expect.equal + ╵ + [ "Betty Botter", "bought", "some", "butter" ] + + -} +-} +equal : a -> a -> Expectation +equal = + compareWith "Expect.equal" (==) + + +{-| Passes if the arguments are not equal. + + -- Passes because (11 /= 100) is True + 90 + 10 + |> Expect.notEqual 11 + + + -- Fails because (100 /= 100) is False + 90 + 10 + |> Expect.notEqual 100 + + {- + + 100 + ╷ + │ Expect.notEqual + ╵ + 100 + + -} +-} +notEqual : a -> a -> Expectation +notEqual = + compareWith "Expect.notEqual" (/=) + + +{-| Passes if the second argument is less than the first. + + Expect.lessThan 1 (List.length []) + + -- Passes because (0 < 1) is True + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because (0 < -1) is False + List.length [] + |> Expect.lessThan -1 + + + {- + + 0 + ╷ + │ Expect.lessThan + ╵ + -1 + + -} +-} +lessThan : comparable -> comparable -> Expectation +lessThan = + compareWith "Expect.lessThan" (<) + + +{-| Passes if the second argument is less than or equal to the first. + + Expect.atMost 1 (List.length []) + + -- Passes because (0 <= 1) is True + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because (0 <= -3) is False + List.length [] + |> Expect.atMost -3 + + {- + + 0 + ╷ + │ Expect.atMost + ╵ + -3 + + -} +-} +atMost : comparable -> comparable -> Expectation +atMost = + compareWith "Expect.atMost" (<=) + + +{-| Passes if the second argument is greater than the first. + + Expect.greaterThan -2 List.length [] + + -- Passes because (0 > -2) is True + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because (0 > 1) is False + List.length [] + |> Expect.greaterThan 1 + + {- + + 0 + ╷ + │ Expect.greaterThan + ╵ + 1 + + -} +-} +greaterThan : comparable -> comparable -> Expectation +greaterThan = + compareWith "Expect.greaterThan" (>) + + +{-| Passes if the second argument is greater than or equal to the first. + + Expect.atLeast -2 (List.length []) + + -- Passes because (0 >= -2) is True + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because (0 >= 3) is False + List.length [] + |> Expect.atLeast 3 + + {- + + 0 + ╷ + │ Expect.atLeast + ╵ + 3 + + -} +-} +atLeast : comparable -> comparable -> Expectation +atLeast = + compareWith "Expect.atLeast" (>=) + + +{-| Passes if the argument is 'True', and otherwise fails with the given message. + + Expect.true "Expected the list to be empty." (List.isEmpty []) + + -- Passes because (List.isEmpty []) is True + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because List.isEmpty returns False, but we expect True. + List.isEmpty [ 42 ] + |> Expect.true "Expected the list to be empty." + + {- + + Expected the list to be empty. + + -} +-} +true : String -> Bool -> Expectation +true message bool = + if bool then + pass + else + fail message + + +{-| Passes if the argument is 'False', and otherwise fails with the given message. + + Expect.false "Expected the list not to be empty." (List.isEmpty [ 42 ]) + + -- Passes because (List.isEmpty [ 42 ]) is False + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because (List.isEmpty []) is True + List.isEmpty [] + |> Expect.false "Expected the list not to be empty." + + {- + + Expected the list not to be empty. + + -} +-} +false : String -> Bool -> Expectation +false message bool = + if bool then + fail message + else + pass + + +{-| Passes if the arguments are equal lists. + + -- Passes + [1, 2, 3] + |> Expect.equalLists [1, 2, 3] + +Failures resemble code written in pipeline style, so you can tell +which argument is which, and reports which index the lists first +differed at or which list was longer: + + -- Fails + [ 1, 2, 4, 6 ] + |> Expect.equalLists [ 1, 2, 5 ] + + {- + + [1,2,4,6] + first diff at index index 2: +`4`, -`5` + ╷ + │ Expect.equalLists + ╵ + first diff at index index 2: +`5`, -`4` + [1,2,5] + + -} +-} +equalLists : List a -> List a -> Expectation +equalLists expected actual = + if expected == actual then + pass + else + let + result = + List.map2 (,) actual expected + |> List.indexedMap (,) + |> List.filterMap + (\( index, ( a, e ) ) -> + if e == a then + Nothing + else + Just ( index, a, e ) + ) + |> List.head + |> Maybe.map + (\( index, a, e ) -> + [ toString actual + , "first diff at index index " ++ toString index ++ ": +`" ++ toString a ++ "`, -`" ++ toString e ++ "`" + , "╷" + , "│ Expect.equalLists" + , "╵" + , "first diff at index index " ++ toString index ++ ": +`" ++ toString e ++ "`, -`" ++ toString a ++ "`" + , toString expected + ] + |> String.join "\n" + |> fail + ) + in + case result of + Just failure -> + failure + + Nothing -> + case compare (List.length actual) (List.length expected) of + GT -> + reportFailure "Expect.equalLists was longer than" (toString expected) (toString actual) + |> fail + + LT -> + reportFailure "Expect.equalLists was shorter than" (toString expected) (toString actual) + |> fail + + _ -> + pass + + +{-| Passes if the arguments are equal dicts. + + -- Passes + (Dict.fromList [ ( 1, "one" ), ( 2, "two" ) ]) + |> Expect.equalDicts (Dict.fromList [ ( 1, "one" ), ( 2, "two" ) ]) + +Failures resemble code written in pipeline style, so you can tell +which argument is which, and reports which keys were missing from +or added to each dict: + + -- Fails + (Dict.fromList [ ( 1, "one" ), ( 2, "too" ) ]) + |> Expect.equalDicts (Dict.fromList [ ( 1, "one" ), ( 2, "two" ), ( 3, "three" ) ]) + + {- + + Dict.fromList [(1,"one"),(2,"too")] + diff: -[ (2,"two"), (3,"three") ] +[ (2,"too") ] + ╷ + │ Expect.equalDicts + ╵ + diff: +[ (2,"two"), (3,"three") ] -[ (2,"too") ] + Dict.fromList [(1,"one"),(2,"two"),(3,"three")] + + -} +-} +equalDicts : Dict comparable a -> Dict comparable a -> Expectation +equalDicts expected actual = + if Dict.toList expected == Dict.toList actual then + pass + else + let + differ dict k v diffs = + if Dict.get k dict == Just v then + diffs + else + ( k, v ) :: diffs + + missingKeys = + Dict.foldr (differ actual) [] expected + + extraKeys = + Dict.foldr (differ expected) [] actual + in + fail (reportCollectionFailure "Expect.equalDicts" expected actual missingKeys extraKeys) + + +{-| Passes if the arguments are equal sets. + + -- Passes + (Set.fromList [1, 2]) + |> Expect.equalSets (Set.fromList [1, 2]) + +Failures resemble code written in pipeline style, so you can tell +which argument is which, and reports which keys were missing from +or added to each set: + + -- Fails + (Set.fromList [ 1, 2, 4, 6 ]) + |> Expect.equalSets (Set.fromList [ 1, 2, 5 ]) + + {- + + Set.fromList [1,2,4,6] + diff: -[ 5 ] +[ 4, 6 ] + ╷ + │ Expect.equalSets + ╵ + diff: +[ 5 ] -[ 4, 6 ] + Set.fromList [1,2,5] + + -} +-} +equalSets : Set comparable -> Set comparable -> Expectation +equalSets expected actual = + if Set.toList expected == Set.toList actual then + pass + else + let + missingKeys = + Set.diff expected actual + |> Set.toList + + extraKeys = + Set.diff actual expected + |> Set.toList + in + fail (reportCollectionFailure "Expect.equalSets" expected actual missingKeys extraKeys) + + +{-| Always passes. + + import Json.Decode exposing (decodeString, int) + import Test exposing (test) + import Expect + + + test "Json.Decode.int can decode the number 42." <| + \() -> + case decodeString int "42" of + Ok _ -> + Expect.pass + + Err err -> + Expect.fail err +-} +pass : Expectation +pass = + Test.Expectation.Pass + + +{-| Fails with the given message. + + import Json.Decode exposing (decodeString, int) + import Test exposing (test) + import Expect + + + test "Json.Decode.int can decode the number 42." <| + \() -> + case decodeString int "42" of + Ok _ -> + Expect.pass + + Err err -> + Expect.fail err +-} +fail : String -> Expectation +fail = + Test.Expectation.Fail "" + + +{-| Return `Nothing` if the given [`Expectation`](#Expectation) is a [`pass`](#pass). + +If it is a [`fail`](#fail), return a record containing the failure message, +along with the given inputs if it was a fuzz test. (If no inputs were involved, +the record's `given` field will be `""`). + +For example, if a fuzz test generates random integers, this might return +`{ message = "it was supposed to be positive", given = "-1" }` + + getFailure (Expect.fail "this failed") + -- Just { message = "this failed", given = "" } + + getFailure (Expect.pass) + -- Nothing +-} +getFailure : Expectation -> Maybe { given : String, message : String } +getFailure expectation = + case expectation of + Test.Expectation.Pass -> + Nothing + + Test.Expectation.Fail given message -> + Just { given = given, message = message } + + +{-| If the given expectation fails, replace its failure message with a custom one. + + "something" + |> Expect.equal "something else" + |> Expect.onFail "thought those two strings would be the same" +-} +onFail : String -> Expectation -> Expectation +onFail str expectation = + case expectation of + Test.Expectation.Pass -> + expectation + + Test.Expectation.Fail given _ -> + Test.Expectation.Fail given str + + +reportFailure : String -> String -> String -> String +reportFailure comparison expected actual = + [ actual + , "╷" + , "│ " ++ comparison + , "╵" + , expected + ] + |> String.join "\n" + + +reportCollectionFailure : String -> a -> b -> List c -> List d -> String +reportCollectionFailure comparison expected actual missingKeys extraKeys = + [ toString actual + , "diff:" ++ formatDiffs Missing missingKeys ++ formatDiffs Extra extraKeys + , "╷" + , "│ " ++ comparison + , "╵" + , "diff:" ++ formatDiffs Extra missingKeys ++ formatDiffs Missing extraKeys + , toString expected + ] + |> String.join "\n" + + +type Diff + = Extra + | Missing + + +formatDiffs : Diff -> List a -> String +formatDiffs diffType diffs = + if List.isEmpty diffs then + "" + else + let + modifier = + case diffType of + Extra -> + "+" + + Missing -> + "-" + in + diffs + |> List.map toString + |> String.join ", " + |> (\d -> " " ++ modifier ++ "[ " ++ d ++ " ]") + + +compareWith : String -> (a -> b -> Bool) -> b -> a -> Expectation +compareWith label compare expected actual = + if compare actual expected then + pass + else + fail (reportFailure label (toString expected) (toString actual)) + + +{-| Passes if each of the given functions passes when applied to the subject. + +**NOTE:** Passing an empty list is assumed to be a mistake, so `Expect.all []` +will always return a failed expectation no matter what else it is passed. + + Expect.all + [ Expect.greaterThan -2 + , Expect.lessThan 5 + ] + (List.length []) + + -- Passes because (0 > -2) is True and (0 < 5) is also True + +Failures resemble code written in pipeline style, so you can tell +which argument is which: + + -- Fails because (0 > -10) is False + List.length [] + |> Expect.all + [ Expect.greaterThan -2 + , Expect.lessThan -10 + , Expect.equal 0 + ] + + {- + + 0 + ╷ + │ Expect.lessThan + ╵ + -10 + + -} +-} +all : List (subject -> Expectation) -> subject -> Expectation +all list query = + if List.isEmpty list then + fail "Expect.all received an empty list. I assume this was due to a mistake somewhere, so I'm failing this test!" + else + allHelp list query + + +allHelp : List (subject -> Expectation) -> subject -> Expectation +allHelp list query = + case list of + [] -> + pass + + check :: rest -> + case check query of + Test.Expectation.Pass -> + allHelp rest query + + outcome -> + outcome diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz.elm new file mode 100644 index 0000000..d271f90 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz.elm @@ -0,0 +1,802 @@ +module Fuzz exposing (Fuzzer, custom, constant, unit, bool, order, char, float, floatRange, int, tuple, tuple3, tuple4, tuple5, result, string, percentage, map, map2, map3, map4, map5, andMap, andThen, maybe, intRange, list, array, frequency, frequencyOrCrash) + +{-| This is a library of *fuzzers* you can use to supply values to your fuzz +tests. You can typically pick out which ones you need according to their types. + +A `Fuzzer a` knows how to create values of type `a` in two different ways. It +can create them randomly, so that your test's expectations are run against many +values. Fuzzers will often generate edge cases likely to find bugs. If the +fuzzer can make your test fail, it also knows how to "shrink" that failing input +into more minimal examples, some of which might also cause the tests to fail. In +this way, fuzzers can usually find the smallest or simplest input that +reproduces a bug. + +## Common Fuzzers +@docs bool, int, intRange, float, floatRange, percentage, string, maybe, result, list, array + +## Working with Fuzzers +@docs Fuzzer, constant, map, map2, map3,map4, map5, andMap, andThen, frequency, frequencyOrCrash + +## Tuple Fuzzers +Instead of using a tuple, consider using `fuzzN`. +@docs tuple, tuple3, tuple4, tuple5 + +## Uncommon Fuzzers +@docs custom, char, unit, order + +-} + +import Array exposing (Array) +import Char +import Util exposing (..) +import Lazy.List exposing (LazyList) +import Shrink exposing (Shrinker) +import RoseTree exposing (RoseTree(..)) +import Random.Pcg as Random exposing (Generator) +import Fuzz.Internal as Internal exposing (Fuzz(..)) + + +{-| The representation of fuzzers is opaque. Conceptually, a `Fuzzer a` +consists of a way to randomly generate values of type `a`, and a way to shrink +those values. +-} +type alias Fuzzer a = + Internal.Fuzzer a + + +{-| Build a custom `Fuzzer a` by providing a `Generator a` and a `Shrinker a`. +Generators are defined in [`mgold/elm-random-pcg`](http://package.elm-lang.org/packages/mgold/elm-random-pcg/latest), +which is not core's Random module but has a compatible interface. Shrinkers are +defined in [`elm-community/shrink`](http://package.elm-lang.org/packages/elm-community/shrink/latest/). + +Here is an example for a record: + + import Random.Pcg as Random + import Shrink + + type alias Position = + { x : Int, y : Int } + + position : Fuzzer Position + position = + Fuzz.custom + (Random.map2 Position (Random.int -100 100) (Random.int -100 100)) + (\{ x, y } -> Shrink.map Position (Shrink.int x) |> Shrink.andMap (Shrink.int y)) + +Here is an example for a custom union type, assuming there is already a `genName : Generator String` defined: + + type Question + = Name String + | Age Int + + question = + let + generator = + Random.bool |> Random.andThen (\b -> + if b then + Random.map Name genName + else + Random.map Age (Random.int 0 120) + ) + + shrinker question = + case question of + Name n -> + Shrink.string n |> Shrink.map Name + Age i -> + Shrink.int i |> Shrink.map Age + in + Fuzz.custom generator shrinker + +It is not possible to extract the generator and shrinker from an existing fuzzer. +-} +custom : Generator a -> Shrinker a -> Fuzzer a +custom generator shrinker = + let + shrinkTree a = + Rose a (Lazy.List.map shrinkTree (shrinker a)) + in + Internal.Fuzzer + (\noShrink -> + if noShrink then + Gen generator + else + Shrink <| Random.map shrinkTree generator + ) + + +{-| A fuzzer for the unit value. Unit is a type with only one value, commonly +used as a placeholder. +-} +unit : Fuzzer () +unit = + Internal.Fuzzer + (\noShrink -> + if noShrink then + Gen <| Random.constant () + else + Shrink <| Random.constant (RoseTree.singleton ()) + ) + + +{-| A fuzzer for bool values. +-} +bool : Fuzzer Bool +bool = + custom Random.bool Shrink.bool + + +{-| A fuzzer for order values. +-} +order : Fuzzer Order +order = + let + intToOrder i = + if i == 0 then + LT + else if i == 1 then + EQ + else + GT + in + custom (Random.map intToOrder (Random.int 0 2)) Shrink.order + + +{-| A fuzzer for int values. It will never produce `NaN`, `Infinity`, or `-Infinity`. + +It's possible for this fuzzer to generate any 32-bit integer, but it favors +numbers between -50 and 50 and especially zero. +-} +int : Fuzzer Int +int = + let + generator = + Random.frequency + [ ( 3, Random.int -50 50 ) + , ( 0.2, Random.constant 0 ) + , ( 1, Random.int 0 (Random.maxInt - Random.minInt) ) + , ( 1, Random.int (Random.minInt - Random.maxInt) 0 ) + ] + in + custom generator Shrink.int + + +{-| A fuzzer for int values within between a given minimum and maximum value, +inclusive. Shrunken values will also be within the range. + +Remember that [Random.maxInt](http://package.elm-lang.org/packages/elm-lang/core/latest/Random#maxInt) +is the maximum possible int value, so you can do `intRange x Random.maxInt` to get all +the ints x or bigger. +-} +intRange : Int -> Int -> Fuzzer Int +intRange lo hi = + custom + (Random.frequency + [ ( 8, Random.int lo hi ) + , ( 1, Random.constant lo ) + , ( 1, Random.constant hi ) + ] + ) + (Shrink.keepIf (\i -> i >= lo && i <= hi) Shrink.int) + + +{-| A fuzzer for float values. It will never produce `NaN`, `Infinity`, or `-Infinity`. + + +It's possible for this fuzzer to generate any other floating-point value, but it +favors numbers between -50 and 50, numbers between -1 and 1, and especially zero. +-} +float : Fuzzer Float +float = + let + generator = + Random.frequency + [ ( 3, Random.float -50 50 ) + , ( 0.5, Random.constant 0 ) + , ( 1, Random.float -1 1 ) + , ( 1, Random.float 0 (toFloat <| Random.maxInt - Random.minInt) ) + , ( 1, Random.float (toFloat <| Random.minInt - Random.maxInt) 0 ) + ] + in + custom generator Shrink.float + + +{-| A fuzzer for float values within between a given minimum and maximum +value, inclusive. Shrunken values will also be within the range. +-} +floatRange : Float -> Float -> Fuzzer Float +floatRange lo hi = + custom + (Random.frequency + [ ( 8, Random.float lo hi ) + , ( 1, Random.constant lo ) + , ( 1, Random.constant hi ) + ] + ) + (Shrink.keepIf (\i -> i >= lo && i <= hi) Shrink.float) + + +{-| A fuzzer for percentage values. Generates random floats between `0.0` and +`1.0`. It will test zero and one about 10% of the time each. +-} +percentage : Fuzzer Float +percentage = + let + generator = + Random.frequency + [ ( 8, Random.float 0 1 ) + , ( 1, Random.constant 0 ) + , ( 1, Random.constant 1 ) + ] + in + custom generator Shrink.float + + +{-| A fuzzer for char values. Generates random ascii chars disregarding the control +characters. +-} +char : Fuzzer Char +char = + custom charGenerator Shrink.character + + +charGenerator : Generator Char +charGenerator = + (Random.map Char.fromCode (Random.int 32 126)) + + +{-| Generates random printable ASCII strings of up to 1000 characters. + +Shorter strings are more common, especially the empty string. +-} +string : Fuzzer String +string = + let + generator : Generator String + generator = + Random.frequency + [ ( 3, Random.int 1 10 ) + , ( 0.2, Random.constant 0 ) + , ( 1, Random.int 11 50 ) + , ( 1, Random.int 50 1000 ) + ] + |> Random.andThen (lengthString charGenerator) + in + custom generator Shrink.string + + +{-| Given a fuzzer of a type, create a fuzzer of a maybe for that type. +-} +maybe : Fuzzer a -> Fuzzer (Maybe a) +maybe (Internal.Fuzzer baseFuzzer) = + Internal.Fuzzer <| + \noShrink -> + case baseFuzzer noShrink of + Gen gen -> + Gen <| + Random.map2 + (\useNothing val -> + if useNothing then + Nothing + else + Just val + ) + (Random.oneIn 4) + gen + + Shrink genTree -> + Shrink <| + Random.map2 + (\useNothing tree -> + if useNothing then + RoseTree.singleton Nothing + else + RoseTree.map Just tree |> RoseTree.addChild (RoseTree.singleton Nothing) + ) + (Random.oneIn 4) + genTree + + +{-| Given fuzzers for an error type and a success type, create a fuzzer for +a result. +-} +result : Fuzzer error -> Fuzzer value -> Fuzzer (Result error value) +result (Internal.Fuzzer baseFuzzerError) (Internal.Fuzzer baseFuzzerValue) = + Internal.Fuzzer <| + \noShrink -> + case ( baseFuzzerError noShrink, baseFuzzerValue noShrink ) of + ( Gen genErr, Gen genVal ) -> + Gen <| + Random.map3 + (\useError err val -> + if useError then + Err err + else + Ok val + ) + (Random.oneIn 4) + genErr + genVal + + ( Shrink genTreeErr, Shrink genTreeVal ) -> + Shrink <| + Random.map3 + (\useError errorTree valueTree -> + if useError then + RoseTree.map Err errorTree + else + RoseTree.map Ok valueTree + ) + (Random.oneIn 4) + genTreeErr + genTreeVal + + err -> + Debug.crash "This shouldn't happen: Fuzz.result" err + + +{-| Given a fuzzer of a type, create a fuzzer of a list of that type. +Generates random lists of varying length, favoring shorter lists. +-} +list : Fuzzer a -> Fuzzer (List a) +list (Internal.Fuzzer baseFuzzer) = + let + genLength = + Random.frequency + [ ( 1, Random.constant 0 ) + , ( 1, Random.constant 1 ) + , ( 3, Random.int 2 10 ) + , ( 2, Random.int 10 100 ) + , ( 0.5, Random.int 100 400 ) + ] + in + Internal.Fuzzer + (\noShrink -> + case baseFuzzer noShrink of + Gen genVal -> + genLength + |> Random.andThen (\i -> (Random.list i genVal)) + |> Gen + + Shrink genTree -> + genLength + |> Random.andThen (\i -> (Random.list i genTree)) + |> Random.map listShrinkHelp + |> Shrink + ) + + +listShrinkHelp : List (RoseTree a) -> RoseTree (List a) +listShrinkHelp listOfTrees = + {- Shrinking a list of RoseTrees + We need to do two things. First, shrink individual values. Second, shorten the list. + To shrink individual values, we create every list copy of the input list where any + one value is replaced by a shrunken form. + To shorten the length of the list, slide windows of various lengths over it. + In all cases, recurse! The goal is to make a little forward progress and then recurse. + -} + let + n = + List.length listOfTrees + + root = + List.map RoseTree.root listOfTrees + + shrinkOne prefix list = + case list of + [] -> + Lazy.List.empty + + (Rose x shrunkenXs) :: more -> + Lazy.List.map (\childTree -> prefix ++ (childTree :: more) |> listShrinkHelp) shrunkenXs + + shrunkenVals = + Lazy.List.numbers + |> Lazy.List.map (\i -> i - 1) + |> Lazy.List.take n + |> Lazy.List.andThen + (\i -> shrinkOne (List.take i listOfTrees) (List.drop i listOfTrees)) + + shortened = + (if n > 6 then + Lazy.List.iterate (\n -> n // 2) n + |> Lazy.List.takeWhile (\x -> x > 0) + else + Lazy.List.fromList (List.range 1 n) + ) + |> Lazy.List.andThen (\len -> shorter len listOfTrees False) + |> Lazy.List.map listShrinkHelp + + shorter windowSize aList recursing = + -- Tricky: take the whole list if we've recursed down here, but don't let a list shrink to itself + if windowSize > List.length aList || (windowSize == List.length aList && not recursing) then + Lazy.List.empty + else + case aList of + [] -> + Lazy.List.empty + + head :: tail -> + Lazy.List.cons (List.take windowSize aList) (shorter windowSize tail True) + in + Lazy.List.append shortened shrunkenVals + |> Lazy.List.cons (RoseTree.singleton []) + |> Rose root + + +{-| Given a fuzzer of a type, create a fuzzer of an array of that type. +Generates random arrays of varying length, favoring shorter arrays. +-} +array : Fuzzer a -> Fuzzer (Array a) +array fuzzer = + map Array.fromList (list fuzzer) + + +{-| Turn a tuple of fuzzers into a fuzzer of tuples. +-} +tuple : ( Fuzzer a, Fuzzer b ) -> Fuzzer ( a, b ) +tuple ( Internal.Fuzzer baseFuzzerA, Internal.Fuzzer baseFuzzerB ) = + Internal.Fuzzer + (\noShrink -> + case ( baseFuzzerA noShrink, baseFuzzerB noShrink ) of + ( Gen genA, Gen genB ) -> + Gen <| Random.map2 (,) genA genB + + ( Shrink genTreeA, Shrink genTreeB ) -> + Shrink <| Random.map2 tupleShrinkHelp genTreeA genTreeB + + err -> + Debug.crash "This shouldn't happen: Fuzz.tuple" err + ) + + +tupleShrinkHelp : RoseTree a -> RoseTree b -> RoseTree ( a, b ) +tupleShrinkHelp ((Rose root1 children1) as rose1) ((Rose root2 children2) as rose2) = + {- Shrinking a tuple of RoseTrees + Recurse on all tuples created by substituting one element for any of its shrunken values. + + A weakness of this algorithm is that it expects that values can be shrunken independently. + That is, to shrink from (a,b) to (a',b'), we must go through (a',b) or (a,b'). + "No pairs sum to zero" is a pathological predicate that cannot be shrunken this way. + -} + let + root = + ( root1, root2 ) + + shrink1 = + Lazy.List.map (\subtree -> tupleShrinkHelp subtree rose2) children1 + + shrink2 = + Lazy.List.map (\subtree -> tupleShrinkHelp rose1 subtree) children2 + in + shrink2 + |> Lazy.List.append shrink1 + |> Rose root + + +{-| Turn a 3-tuple of fuzzers into a fuzzer of 3-tuples. +-} +tuple3 : ( Fuzzer a, Fuzzer b, Fuzzer c ) -> Fuzzer ( a, b, c ) +tuple3 ( Internal.Fuzzer baseFuzzerA, Internal.Fuzzer baseFuzzerB, Internal.Fuzzer baseFuzzerC ) = + Internal.Fuzzer + (\noShrink -> + case ( baseFuzzerA noShrink, baseFuzzerB noShrink, baseFuzzerC noShrink ) of + ( Gen genA, Gen genB, Gen genC ) -> + Gen <| Random.map3 (,,) genA genB genC + + ( Shrink genTreeA, Shrink genTreeB, Shrink genTreeC ) -> + Shrink <| Random.map3 tupleShrinkHelp3 genTreeA genTreeB genTreeC + + err -> + Debug.crash "This shouldn't happen: Fuzz.tuple3" err + ) + + +tupleShrinkHelp3 : RoseTree a -> RoseTree b -> RoseTree c -> RoseTree ( a, b, c ) +tupleShrinkHelp3 ((Rose root1 children1) as rose1) ((Rose root2 children2) as rose2) ((Rose root3 children3) as rose3) = + let + root = + ( root1, root2, root3 ) + + shrink1 = + Lazy.List.map (\subtree -> tupleShrinkHelp3 subtree rose2 rose3) children1 + + shrink2 = + Lazy.List.map (\subtree -> tupleShrinkHelp3 rose1 subtree rose3) children2 + + shrink3 = + Lazy.List.map (\subtree -> tupleShrinkHelp3 rose1 rose2 subtree) children3 + in + shrink3 + |> Lazy.List.append shrink2 + |> Lazy.List.append shrink1 + |> Rose root + + +{-| Turn a 4-tuple of fuzzers into a fuzzer of 4-tuples. +-} +tuple4 : ( Fuzzer a, Fuzzer b, Fuzzer c, Fuzzer d ) -> Fuzzer ( a, b, c, d ) +tuple4 ( Internal.Fuzzer baseFuzzerA, Internal.Fuzzer baseFuzzerB, Internal.Fuzzer baseFuzzerC, Internal.Fuzzer baseFuzzerD ) = + Internal.Fuzzer + (\noShrink -> + case ( baseFuzzerA noShrink, baseFuzzerB noShrink, baseFuzzerC noShrink, baseFuzzerD noShrink ) of + ( Gen genA, Gen genB, Gen genC, Gen genD ) -> + Gen <| Random.map4 (,,,) genA genB genC genD + + ( Shrink genTreeA, Shrink genTreeB, Shrink genTreeC, Shrink genTreeD ) -> + Shrink <| Random.map4 tupleShrinkHelp4 genTreeA genTreeB genTreeC genTreeD + + err -> + Debug.crash "This shouldn't happen: Fuzz.tuple4" err + ) + + +tupleShrinkHelp4 : RoseTree a -> RoseTree b -> RoseTree c -> RoseTree d -> RoseTree ( a, b, c, d ) +tupleShrinkHelp4 rose1 rose2 rose3 rose4 = + let + root = + ( RoseTree.root rose1, RoseTree.root rose2, RoseTree.root rose3, RoseTree.root rose4 ) + + shrink1 = + Lazy.List.map (\subtree -> tupleShrinkHelp4 subtree rose2 rose3 rose4) (RoseTree.children rose1) + + shrink2 = + Lazy.List.map (\subtree -> tupleShrinkHelp4 rose1 subtree rose3 rose4) (RoseTree.children rose2) + + shrink3 = + Lazy.List.map (\subtree -> tupleShrinkHelp4 rose1 rose2 subtree rose4) (RoseTree.children rose3) + + shrink4 = + Lazy.List.map (\subtree -> tupleShrinkHelp4 rose1 rose2 rose3 subtree) (RoseTree.children rose4) + in + shrink4 + |> Lazy.List.append shrink3 + |> Lazy.List.append shrink2 + |> Lazy.List.append shrink1 + |> Rose root + + +{-| Turn a 5-tuple of fuzzers into a fuzzer of 5-tuples. +-} +tuple5 : ( Fuzzer a, Fuzzer b, Fuzzer c, Fuzzer d, Fuzzer e ) -> Fuzzer ( a, b, c, d, e ) +tuple5 ( Internal.Fuzzer baseFuzzerA, Internal.Fuzzer baseFuzzerB, Internal.Fuzzer baseFuzzerC, Internal.Fuzzer baseFuzzerD, Internal.Fuzzer baseFuzzerE ) = + Internal.Fuzzer + (\noShrink -> + case ( baseFuzzerA noShrink, baseFuzzerB noShrink, baseFuzzerC noShrink, baseFuzzerD noShrink, baseFuzzerE noShrink ) of + ( Gen genA, Gen genB, Gen genC, Gen genD, Gen genE ) -> + Gen <| Random.map5 (,,,,) genA genB genC genD genE + + ( Shrink genTreeA, Shrink genTreeB, Shrink genTreeC, Shrink genTreeD, Shrink genTreeE ) -> + Shrink <| Random.map5 tupleShrinkHelp5 genTreeA genTreeB genTreeC genTreeD genTreeE + + err -> + Debug.crash "This shouldn't happen: Fuzz.tuple5" err + ) + + +tupleShrinkHelp5 : RoseTree a -> RoseTree b -> RoseTree c -> RoseTree d -> RoseTree e -> RoseTree ( a, b, c, d, e ) +tupleShrinkHelp5 rose1 rose2 rose3 rose4 rose5 = + let + root = + ( RoseTree.root rose1, RoseTree.root rose2, RoseTree.root rose3, RoseTree.root rose4, RoseTree.root rose5 ) + + shrink1 = + Lazy.List.map (\subtree -> tupleShrinkHelp5 subtree rose2 rose3 rose4 rose5) (RoseTree.children rose1) + + shrink2 = + Lazy.List.map (\subtree -> tupleShrinkHelp5 rose1 subtree rose3 rose4 rose5) (RoseTree.children rose2) + + shrink3 = + Lazy.List.map (\subtree -> tupleShrinkHelp5 rose1 rose2 subtree rose4 rose5) (RoseTree.children rose3) + + shrink4 = + Lazy.List.map (\subtree -> tupleShrinkHelp5 rose1 rose2 rose3 subtree rose5) (RoseTree.children rose4) + + shrink5 = + Lazy.List.map (\subtree -> tupleShrinkHelp5 rose1 rose2 rose3 rose4 subtree) (RoseTree.children rose5) + in + shrink5 + |> Lazy.List.append shrink4 + |> Lazy.List.append shrink3 + |> Lazy.List.append shrink2 + |> Lazy.List.append shrink1 + |> Rose root + + +{-| Create a fuzzer that only and always returns the value provided, and performs no shrinking. This is hardly random, +and so this function is best used as a helper when creating more complicated fuzzers. +-} +constant : a -> Fuzzer a +constant x = + Internal.Fuzzer + (\noShrink -> + if noShrink then + Gen (Random.constant x) + else + Shrink (Random.constant (RoseTree.singleton x)) + ) + + +{-| Map a function over a fuzzer. This applies to both the generated and the shruken values. +-} +map : (a -> b) -> Fuzzer a -> Fuzzer b +map transform (Internal.Fuzzer baseFuzzer) = + Internal.Fuzzer + (\noShrink -> + case baseFuzzer noShrink of + Gen genVal -> + Gen <| Random.map transform genVal + + Shrink genTree -> + Shrink <| Random.map (RoseTree.map transform) genTree + ) + + +{-| Map over two fuzzers. +-} +map2 : (a -> b -> c) -> Fuzzer a -> Fuzzer b -> Fuzzer c +map2 transform fuzzA fuzzB = + map (\( a, b ) -> transform a b) (tuple ( fuzzA, fuzzB )) + + +{-| Map over three fuzzers. +-} +map3 : (a -> b -> c -> d) -> Fuzzer a -> Fuzzer b -> Fuzzer c -> Fuzzer d +map3 transform fuzzA fuzzB fuzzC = + map (\( a, b, c ) -> transform a b c) (tuple3 ( fuzzA, fuzzB, fuzzC )) + + +{-| Map over four fuzzers. +-} +map4 : (a -> b -> c -> d -> e) -> Fuzzer a -> Fuzzer b -> Fuzzer c -> Fuzzer d -> Fuzzer e +map4 transform fuzzA fuzzB fuzzC fuzzD = + map (\( a, b, c, d ) -> transform a b c d) (tuple4 ( fuzzA, fuzzB, fuzzC, fuzzD )) + + +{-| Map over five fuzzers. +-} +map5 : (a -> b -> c -> d -> e -> f) -> Fuzzer a -> Fuzzer b -> Fuzzer c -> Fuzzer d -> Fuzzer e -> Fuzzer f +map5 transform fuzzA fuzzB fuzzC fuzzD fuzzE = + map (\( a, b, c, d, e ) -> transform a b c d e) (tuple5 ( fuzzA, fuzzB, fuzzC, fuzzD, fuzzE )) + + +{-| Map over many fuzzers. This can act as mapN for N > 5. + +The argument order is meant to accomodate chaining: + + map f aFuzzer + |> andMap anotherFuzzer + |> andMap aThirdFuzzer + +Note that shrinking may be better using mapN. +-} +andMap : Fuzzer a -> Fuzzer (a -> b) -> Fuzzer b +andMap = + map2 (|>) + + +{-| Create a fuzzer based on the result of another fuzzer. +-} +andThen : (a -> Fuzzer b) -> Fuzzer a -> Fuzzer b +andThen transform (Internal.Fuzzer baseFuzzer) = + Internal.Fuzzer + (\noShrink -> + case baseFuzzer noShrink of + Gen genVal -> + Gen <| Random.andThen (transform >> Internal.unpackGenVal) genVal + + Shrink genTree -> + Shrink <| andThenRoseTrees transform genTree + ) + + +andThenRoseTrees : (a -> Fuzzer b) -> Generator (RoseTree a) -> Generator (RoseTree b) +andThenRoseTrees transform genTree = + genTree + |> Random.andThen + (\(Rose root branches) -> + let + genOtherChildren : Generator (LazyList (RoseTree b)) + genOtherChildren = + branches + |> Lazy.List.map (\rt -> RoseTree.map (transform >> Internal.unpackGenTree) rt |> unwindRoseTree) + |> unwindLazyList + |> Random.map (Lazy.List.map RoseTree.flatten) + in + Random.map2 + (\(Rose trueRoot rootsChildren) otherChildren -> + Rose trueRoot (Lazy.List.append rootsChildren otherChildren) + ) + (Internal.unpackGenTree (transform root)) + genOtherChildren + ) + + +unwindRoseTree : RoseTree (Generator a) -> Generator (RoseTree a) +unwindRoseTree (Rose genRoot lazyListOfRoseTreesOfGenerators) = + case Lazy.List.headAndTail lazyListOfRoseTreesOfGenerators of + Nothing -> + Random.map RoseTree.singleton genRoot + + Just ( Rose gen children, moreList ) -> + Random.map4 (\a b c d -> Rose a (Lazy.List.cons (Rose b c) d)) + genRoot + gen + (Lazy.List.map unwindRoseTree children |> unwindLazyList) + (Lazy.List.map unwindRoseTree moreList |> unwindLazyList) + + +unwindLazyList : LazyList (Generator a) -> Generator (LazyList a) +unwindLazyList lazyListOfGenerators = + case Lazy.List.headAndTail lazyListOfGenerators of + Nothing -> + Random.constant Lazy.List.empty + + Just ( head, tail ) -> + Random.map2 Lazy.List.cons head (unwindLazyList tail) + + +{-| Create a new `Fuzzer` by providing a list of probabilistic weights to use +with other fuzzers. + +For example, to create a `Fuzzer` that has a 1/4 chance of generating an int +between -1 and -100, and a 3/4 chance of generating one between 1 and 100, +you could do this: + + Fuzz.frequency + [ ( 1, Fuzz.intRange -100 -1 ) + , ( 3, Fuzz.intRange 1 100 ) + ] + +This returns a `Result` because it can fail in a few ways: + +* If you provide an empy list of frequencies +* If any of the weights are less than 0 +* If the weights sum to 0 + +Any of these will lead to a result of `Err`, with a `String` explaining what +went wrong. +-} +frequency : List ( Float, Fuzzer a ) -> Result String (Fuzzer a) +frequency list = + if List.isEmpty list then + Err "You must provide at least one frequency pair." + else if List.any (\( weight, _ ) -> weight < 0) list then + Err "No frequency weights can be less than 0." + else if List.sum (List.map Tuple.first list) <= 0 then + Err "Frequency weights must sum to more than 0." + else + Ok <| + Internal.Fuzzer <| + \noShrink -> + if noShrink then + list + |> List.map (\( weight, fuzzer ) -> ( weight, Internal.unpackGenVal fuzzer )) + |> Random.frequency + |> Gen + else + list + |> List.map (\( weight, fuzzer ) -> ( weight, Internal.unpackGenTree fuzzer )) + |> Random.frequency + |> Shrink + + +{-| Calls `frequency` and handles `Err` results by crashing with the given +error message. + +This is useful in tests, where a crash will simply cause the test run to fail. +There is no danger to a production system there. +-} +frequencyOrCrash : List ( Float, Fuzzer a ) -> Fuzzer a +frequencyOrCrash = + frequency >> okOrCrash + + +okOrCrash : Result String a -> a +okOrCrash result = + case result of + Ok a -> + a + + Err str -> + Debug.crash str diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz/Internal.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz/Internal.elm new file mode 100644 index 0000000..a592f41 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Fuzz/Internal.elm @@ -0,0 +1,58 @@ +module Fuzz.Internal exposing (Fuzzer(Fuzzer), Fuzz(..), unpackGenVal, unpackGenTree) + +import RoseTree exposing (RoseTree) +import Random.Pcg exposing (Generator) + + +{- Fuzzers as opt-in RoseTrees + + In the beginning, a Fuzzer was a record of a random generator and a shrinker. + And it was bad, because that makes it impossible to shrink any value created by + mapping over other values. But at least it was fast, and shrinking worked well. + + On the second branch, we created RoseTrees, where every randomly-generated value + also kept a lazy list of shrunken values, which also keep shrunken forms of + themselves. This allows for advanced maps to be implemented, but it was slow. + + On the third branch, we realized that we shouldn't have to pay for shrinking in + the common case of a passing test. So Fuzzers became a function from a boolean + to either another union type. If the function is passed True, it returns a + Generator of a single value; if False, a Generator of a RoseTree of values. + (This is almost certainly dependent types leaning on Debug.crash.) The root of + the RoseTree must equal the single value. Thus the testing harness "opts-in" to + producing a rosetree, doing so only after the single-value generator has caused + a test to fail. + + These two optimizations make the Fuzzer code rather hard to understand, but + allow it to offer a full mapping API, be fast for passing tests, and provide + shrunken values for failing tests. +-} + + +type Fuzzer a + = Fuzzer (Bool -> Fuzz a) + + +type Fuzz a + = Gen (Generator a) + | Shrink (Generator (RoseTree a)) + + +unpackGenVal : Fuzzer a -> Generator a +unpackGenVal (Fuzzer g) = + case g True of + Gen genVal -> + genVal + + err -> + Debug.crash "This shouldn't happen: Fuzz.Internal.unpackGenVal" err + + +unpackGenTree : Fuzzer a -> Generator (RoseTree a) +unpackGenTree (Fuzzer g) = + case g False of + Shrink genTree -> + genTree + + err -> + Debug.crash "This shouldn't happen: Fuzz.Internal.unpackGenTree" err diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/RoseTree.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/RoseTree.elm new file mode 100644 index 0000000..2cc8553 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/RoseTree.elm @@ -0,0 +1,59 @@ +module RoseTree exposing (..) + +{-| RoseTree implementation in Elm using Lazy Lists. + +This implementation is private to elm-test and has non-essential functions removed. +If you need a complete RoseTree implementation, one can be found on elm-package. +-} + +import Lazy.List as LazyList exposing (LazyList, (:::), (+++)) + + +{-| RoseTree type. +A rosetree is a tree with a root whose children are themselves +rosetrees. +-} +type RoseTree a + = Rose a (LazyList (RoseTree a)) + + +{-| Make a singleton rosetree +-} +singleton : a -> RoseTree a +singleton a = + Rose a LazyList.empty + + +{-| Get the root of a rosetree +-} +root : RoseTree a -> a +root (Rose a _) = + a + + +{-| Get the children of a rosetree +-} +children : RoseTree a -> LazyList (RoseTree a) +children (Rose _ c) = + c + + +{-| Add a child to the rosetree. +-} +addChild : RoseTree a -> RoseTree a -> RoseTree a +addChild child (Rose a c) = + Rose a (child ::: c) + + +{-| Map a function over a rosetree +-} +map : (a -> b) -> RoseTree a -> RoseTree b +map f (Rose a c) = + Rose (f a) (LazyList.map (map f) c) + + +{-| Flatten a rosetree of rosetrees. +-} +flatten : RoseTree (RoseTree a) -> RoseTree a +flatten (Rose (Rose a c) cs) = + Rose a (c +++ LazyList.map flatten cs) diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test.elm new file mode 100644 index 0000000..486f6df --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test.elm @@ -0,0 +1,307 @@ +module Test exposing (Test, FuzzOptions, describe, test, filter, concat, fuzz, fuzz2, fuzz3, fuzz4, fuzz5, fuzzWith) + +{-| A module containing functions for creating and managing tests. + +@docs Test, test + +## Organizing Tests + +@docs describe, concat, filter + +## Fuzz Testing + +@docs fuzz, fuzz2, fuzz3, fuzz4, fuzz5, fuzzWith, FuzzOptions +-} + +import Test.Internal as Internal +import Expect exposing (Expectation) +import Fuzz exposing (Fuzzer) + + +{-| A test which has yet to be evaluated. When evaluated, it produces one +or more [`Expectation`](../Expect#Expectation)s. + +See [`test`](#test) and [`fuzz`](#fuzz) for some ways to create a `Test`. +-} +type alias Test = + Internal.Test + + +{-| Run each of the given tests. + + concat [ testDecoder, testSorting ] +-} +concat : List Test -> Test +concat = + Internal.Batch + + +{-| Remove any test unless its description satisfies the given predicate +function. Nested descriptions added with [`describe`](#describe) are not considered. + + describe "String.reverse" + [ test "has no effect on a palindrome" testGoesHere + , test "reverses a known string" anotherTest + , fuzz string "restores the original string if you run it again" oneMore + ] + |> Test.filter (String.contains "original") + + -- only runs the final test + +You can use this to focus on a specific test or two, silencing the failures of +tests you don't want to work on yet, and then remove the call to `Test.filter` +after you're done working on the tests. +-} +filter : (String -> Bool) -> Test -> Test +filter = + Internal.filter + + +{-| Apply a description to a list of tests. + + import Test exposing (describe, test, fuzz) + import Fuzz exposing (int) + import Expect + + + describe "List" + [ describe "reverse" + [ test "has no effect on an empty list" <| + \() -> + List.reverse [] + |> Expect.toEqual [] + , fuzz int "has no effect on a one-item list" <| + \num -> + List.reverse [ num ] + |> Expect.toEqual [ num ] + ] + ] +-} +describe : String -> List Test -> Test +describe desc = + Internal.Batch >> Internal.Labeled desc + + +{-| Return a [`Test`](#Test) that evaluates a single +[`Expectation`](../Expect#Expectation). + + import Test exposing (fuzz) + import Expect + + + test "the empty list has 0 length" <| + \() -> + List.length [] + |> Expect.toEqual 0 +-} +test : String -> (() -> Expectation) -> Test +test desc thunk = + Internal.Labeled desc (Internal.Test (\_ _ -> [ thunk () ])) + + +{-| Options [`fuzzWith`](#fuzzWith) accepts. Currently there is only one but this +API is designed so that it can accept more in the future. + +### `runs` + +The number of times to run each fuzz test. (Default is 100.) + + import Test exposing (fuzzWith) + import Fuzz exposing (list, int) + import Expect + + + fuzzWith { runs = 350 } (list int) "List.length should always be positive" <| + -- This anonymous function will be run 350 times, each time with a + -- randomly-generated fuzzList value. (It will always be a list of ints + -- because of (list int) above.) + \fuzzList -> + fuzzList + |> List.length + |> Expect.atLeast 0 +-} +type alias FuzzOptions = + { runs : Int } + + +{-| Run a [`fuzz`](#fuzz) test with the given [`FuzzOptions`](#FuzzOptions). + +Note that there is no `fuzzWith2`, but you can always pass more fuzz values in +using [`Fuzz.tuple`](../Fuzz#tuple), [`Fuzz.tuple3`](../Fuzz#tuple3), +for example like this: + + import Test exposing (fuzzWith) + import Fuzz exposing (tuple, list, int) + import Expect + + + fuzzWith { runs = 4200 } + (tuple ( list int, int )) + "List.reverse never influences List.member" <| + \(nums, target) -> + List.member target (List.reverse nums) + |> Expect.toEqual (List.member target nums) +-} +fuzzWith : FuzzOptions -> Fuzzer a -> String -> (a -> Expectation) -> Test +fuzzWith options fuzzer desc getTest = + if options.runs < 1 then + test desc <| + \() -> + Expect.fail ("Fuzz test run count must be at least 1, not " ++ toString options.runs) + else + fuzzWithHelp options (fuzz fuzzer desc getTest) + + +fuzzWithHelp : FuzzOptions -> Test -> Test +fuzzWithHelp options test = + case test of + Internal.Test run -> + Internal.Test (\seed _ -> run seed options.runs) + + Internal.Labeled label subTest -> + Internal.Labeled label (fuzzWithHelp options subTest) + + Internal.Batch tests -> + tests + |> List.map (fuzzWithHelp options) + |> Internal.Batch + + +{-| Take a function that produces a test, and calls it several (usually 100) times, using a randomly-generated input +from a [`Fuzzer`](http://package.elm-lang.org/packages/elm-community/elm-test/latest/Fuzz) each time. This allows you to +test that a property that should always be true is indeed true under a wide variety of conditions. The function also +takes a string describing the test. + +These are called "[fuzz tests](https://en.wikipedia.org/wiki/Fuzz_testing)" because of the randomness. +You may find them elsewhere called [property-based tests](http://blog.jessitron.com/2013/04/property-based-testing-what-is-it.html), +[generative tests](http://www.pivotaltracker.com/community/tracker-blog/generative-testing), or +[QuickCheck-style tests](https://en.wikipedia.org/wiki/QuickCheck). + + import Test exposing (fuzz) + import Fuzz exposing (list, int) + import Expect + + + fuzz (list int) "List.length should always be positive" <| + -- This anonymous function will be run 100 times, each time with a + -- randomly-generated fuzzList value. + \fuzzList -> + fuzzList + |> List.length + |> Expect.atLeast 0 +-} +fuzz : + Fuzzer a + -> String + -> (a -> Expectation) + -> Test +fuzz = + Internal.fuzzTest + + +{-| Run a [fuzz test](#fuzz) using two random inputs. + +This is a convenience function that lets you skip calling [`Fuzz.tuple`](../Fuzz#tuple). + +See [`fuzzWith`](#fuzzWith) for an example of writing this in tuple style. + + import Test exposing (fuzz2) + import Fuzz exposing (list, int) + + + fuzz2 (list int) int "List.reverse never influences List.member" <| + \nums target -> + List.member target (List.reverse nums) + |> Expect.toEqual (List.member target nums) +-} +fuzz2 : + Fuzzer a + -> Fuzzer b + -> String + -> (a -> b -> Expectation) + -> Test +fuzz2 fuzzA fuzzB desc = + let + fuzzer = + Fuzz.tuple ( fuzzA, fuzzB ) + in + uncurry >> fuzz fuzzer desc + + +{-| Run a [fuzz test](#fuzz) using three random inputs. + +This is a convenience function that lets you skip calling [`Fuzz.tuple3`](../Fuzz#tuple3). +-} +fuzz3 : + Fuzzer a + -> Fuzzer b + -> Fuzzer c + -> String + -> (a -> b -> c -> Expectation) + -> Test +fuzz3 fuzzA fuzzB fuzzC desc = + let + fuzzer = + Fuzz.tuple3 ( fuzzA, fuzzB, fuzzC ) + in + uncurry3 >> fuzz fuzzer desc + + +{-| Run a [fuzz test](#fuzz) using four random inputs. + +This is a convenience function that lets you skip calling [`Fuzz.tuple4`](../Fuzz#tuple4). +-} +fuzz4 : + Fuzzer a + -> Fuzzer b + -> Fuzzer c + -> Fuzzer d + -> String + -> (a -> b -> c -> d -> Expectation) + -> Test +fuzz4 fuzzA fuzzB fuzzC fuzzD desc = + let + fuzzer = + Fuzz.tuple4 ( fuzzA, fuzzB, fuzzC, fuzzD ) + in + uncurry4 >> fuzz fuzzer desc + + +{-| Run a [fuzz test](#fuzz) using five random inputs. + +This is a convenience function that lets you skip calling [`Fuzz.tuple5`](../Fuzz#tuple5). +-} +fuzz5 : + Fuzzer a + -> Fuzzer b + -> Fuzzer c + -> Fuzzer d + -> Fuzzer e + -> String + -> (a -> b -> c -> d -> e -> Expectation) + -> Test +fuzz5 fuzzA fuzzB fuzzC fuzzD fuzzE desc = + let + fuzzer = + Fuzz.tuple5 ( fuzzA, fuzzB, fuzzC, fuzzD, fuzzE ) + in + uncurry5 >> fuzz fuzzer desc + + + +-- INTERNAL HELPERS -- + + +uncurry3 : (a -> b -> c -> d) -> ( a, b, c ) -> d +uncurry3 fn ( a, b, c ) = + fn a b c + + +uncurry4 : (a -> b -> c -> d -> e) -> ( a, b, c, d ) -> e +uncurry4 fn ( a, b, c, d ) = + fn a b c d + + +uncurry5 : (a -> b -> c -> d -> e -> f) -> ( a, b, c, d, e ) -> f +uncurry5 fn ( a, b, c, d, e ) = + fn a b c d e diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Expectation.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Expectation.elm new file mode 100644 index 0000000..fdb24b1 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Expectation.elm @@ -0,0 +1,16 @@ +module Test.Expectation exposing (Expectation(..), withGiven) + + +type Expectation + = Pass + | Fail String String + + +withGiven : String -> Expectation -> Expectation +withGiven given outcome = + case outcome of + Fail _ message -> + Fail given message + + Pass -> + outcome diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Internal.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Internal.elm new file mode 100644 index 0000000..b46c711 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Internal.elm @@ -0,0 +1,133 @@ +module Test.Internal exposing (Test(..), fuzzTest, filter) + +import Random.Pcg as Random exposing (Generator) +import Test.Expectation exposing (Expectation(..)) +import Dict exposing (Dict) +import Shrink exposing (Shrinker) +import Fuzz exposing (Fuzzer) +import Fuzz.Internal exposing (unpackGenVal, unpackGenTree) +import RoseTree exposing (RoseTree(..)) +import Lazy.List + + +type Test + = Test (Random.Seed -> Int -> List Expectation) + | Labeled String Test + | Batch (List Test) + + +filter : (String -> Bool) -> Test -> Test +filter = + filterHelp False + + +filterHelp : Bool -> (String -> Bool) -> Test -> Test +filterHelp lastCheckPassed isKeepable test = + case test of + Test _ -> + if lastCheckPassed then + test + else + Batch [] + + Labeled desc labeledTest -> + labeledTest + |> filterHelp (isKeepable desc) isKeepable + |> Labeled desc + + Batch tests -> + tests + |> List.map (filterHelp lastCheckPassed isKeepable) + |> Batch + + +fuzzTest : Fuzzer a -> String -> (a -> Expectation) -> Test +fuzzTest fuzzer desc getExpectation = + {- Fuzz test algorithm with opt-in RoseTrees: + Generate a single value by passing the fuzzer True (indicates skip shrinking) + Run the test on that value. If it fails: + Generate the rosetree by passing the fuzzer False *and the same random seed* + Find the new failure by looking at the children for any shrunken values: + If a shrunken value causes a failure, recurse on its children + If no shrunken value replicates the failure, use the root + Whether it passes or fails, do this n times + -} + let + getFailures failures currentSeed remainingRuns = + let + genVal = + unpackGenVal fuzzer + + ( value, nextSeed ) = + Random.step genVal currentSeed + + newFailures = + case getExpectation value of + Pass -> + failures + + failedExpectation -> + let + genTree = + unpackGenTree fuzzer + + ( rosetree, nextSeedAgain ) = + Random.step genTree currentSeed + in + shrinkAndAdd rosetree getExpectation failedExpectation failures + in + if remainingRuns == 1 then + newFailures + else + getFailures newFailures nextSeed (remainingRuns - 1) + + run seed runs = + let + -- Use a Dict so we don't report duplicate inputs. + failures : Dict String Expectation + failures = + getFailures Dict.empty seed runs + in + -- Make sure if we passed, we don't do any more work. + if Dict.isEmpty failures then + [ Pass ] + else + failures + |> Dict.toList + |> List.map formatExpectation + in + Labeled desc (Test run) + + +shrinkAndAdd : RoseTree a -> (a -> Expectation) -> Expectation -> Dict String Expectation -> Dict String Expectation +shrinkAndAdd rootTree getExpectation rootsExpectation dict = + -- Knowing that the root already failed, adds the shrunken failure to the dictionary + let + shrink oldExpectation (Rose root branches) = + case Lazy.List.headAndTail branches of + Just ( (Rose branch _) as rosetree, moreLazyRoseTrees ) -> + -- either way, recurse with the most recent failing expectation, and failing input with its list of shrunken values + case getExpectation branch of + Pass -> + shrink oldExpectation (Rose root moreLazyRoseTrees) + + newExpectation -> + shrink newExpectation rosetree + + Nothing -> + ( root, oldExpectation ) + + ( result, finalExpectation ) = + shrink rootsExpectation rootTree + in + Dict.insert (toString result) finalExpectation dict + + +formatExpectation : ( String, Expectation ) -> Expectation +formatExpectation ( given, expectation ) = + Test.Expectation.withGiven given expectation + + +isFail : Expectation -> Bool +isFail = + (/=) Pass diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Runner.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Runner.elm new file mode 100644 index 0000000..a4da083 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Test/Runner.elm @@ -0,0 +1,149 @@ +module Test.Runner exposing (Runnable, Runner(..), run, fromTest, formatLabels) + +{-| A collection of functions used by authors of test runners. To run your +own tests, you should use these runners; see the `README` for more information. + +## Runner + +@docs Runner, fromTest + +## Runnable + +@docs Runnable, run + +## Formatting + +@docs formatLabels +-} + +import Test exposing (Test) +import Test.Internal as Internal +import Expect exposing (Expectation) +import Random.Pcg +import String + + +{-| An unevaluated test. Run it with [`run`](#run) to evaluate it into a +list of `Expectation`s. +-} +type Runnable + = Thunk (() -> List Expectation) + + +{-| A structured test runner, incorporating: + +* The expectations to run +* The hierarchy of description strings that describe the results +-} +type Runner + = Runnable Runnable + | Labeled String Runner + | Batch (List Runner) + + +{-| Evaluate a [`Runnable`](#Runnable) to get a list of `Expectation`s. +-} +run : Runnable -> List Expectation +run (Thunk fn) = + fn () + + +{-| Convert a `Test` into a `Runner`. + +In order to run any fuzz tests that the `Test` may have, it requires a default run count as well +as an initial `Random.Pcg.Seed`. `100` is a good run count. To obtain a good random seed, pass a +random 32-bit integer to `Random.Pcg.initialSeed`. You can obtain such an integer by running +`Math.floor(Math.random()*0xFFFFFFFF)` in Node. It's typically fine to hard-code this value into +your Elm code; it's easy and makes your tests reproducible. +-} +fromTest : Int -> Random.Pcg.Seed -> Test -> Runner +fromTest runs seed test = + if runs < 1 then + Thunk (\() -> [ Expect.fail ("Test runner run count must be at least 1, not " ++ toString runs) ]) + |> Runnable + else + case test of + Internal.Test run -> + Thunk (\() -> run seed runs) + |> Runnable + + Internal.Labeled label subTest -> + subTest + |> fromTest runs seed + |> Labeled label + + Internal.Batch subTests -> + subTests + |> List.foldl (distributeSeeds runs) ( seed, [] ) + |> Tuple.second + |> Batch + + +distributeSeeds : Int -> Test -> ( Random.Pcg.Seed, List Runner ) -> ( Random.Pcg.Seed, List Runner ) +distributeSeeds runs test ( startingSeed, runners ) = + case test of + Internal.Test run -> + let + ( seed, nextSeed ) = + Random.Pcg.step Random.Pcg.independentSeed startingSeed + in + ( nextSeed, runners ++ [ Runnable (Thunk (\() -> run seed runs)) ] ) + + Internal.Labeled label subTest -> + let + ( nextSeed, nextRunners ) = + distributeSeeds runs subTest ( startingSeed, [] ) + + finalRunners = + List.map (Labeled label) nextRunners + in + ( nextSeed, runners ++ finalRunners ) + + Internal.Batch tests -> + let + ( nextSeed, nextRunners ) = + List.foldl (distributeSeeds runs) ( startingSeed, [] ) tests + in + ( nextSeed, [ Batch (runners ++ nextRunners) ] ) + + +{-| A standard way to format descriptiona and test labels, to keep things +consistent across test runner implementations. + +The HTML, Node, String, and Log runners all use this. + +What it does: + +* drop any labels that are empty strings +* format the first label differently from the others +* reverse the resulting list + + [ "the actual test that failed" + , "nested description failure" + , "top-level description failure" + ] + |> formatLabels ((++) "↓ ") ((++) "✗ ") + + {- + [ "↓ top-level description failure" + , "↓ nested description failure" + , "✗ the actual test that failed" + ] + -} + +-} +formatLabels : + (String -> format) + -> (String -> format) + -> List String + -> List format +formatLabels formatDescription formatTest labels = + case List.filter (not << String.isEmpty) labels of + [] -> + [] + + test :: descriptions -> + descriptions + |> List.map formatDescription + |> (::) (formatTest test) + |> List.reverse diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Util.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Util.elm new file mode 100644 index 0000000..1cbcd51 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/src/Util.elm @@ -0,0 +1,32 @@ +module Util exposing (..) + +{-| This is where I'm sticking Random helper functions I don't want to add to Pcg. +-} + +import Random.Pcg exposing (..) +import Array exposing (Array) +import String + + +rangeLengthList : Int -> Int -> Generator a -> Generator (List a) +rangeLengthList minLength maxLength generator = + (int minLength maxLength) + |> andThen (\len -> list len generator) + + +rangeLengthArray : Int -> Int -> Generator a -> Generator (Array a) +rangeLengthArray minLength maxLength generator = + rangeLengthList minLength maxLength generator + |> map Array.fromList + + +rangeLengthString : Int -> Int -> Generator Char -> Generator String +rangeLengthString minLength maxLength charGenerator = + (int minLength maxLength) + |> andThen (lengthString charGenerator) + + +lengthString : Generator Char -> Int -> Generator String +lengthString charGenerator stringLength = + list stringLength charGenerator + |> map String.fromList diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Main.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Main.elm new file mode 100644 index 0000000..3aafeb6 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Main.elm @@ -0,0 +1,22 @@ +module Main exposing (..) + +{-| HOW TO RUN THESE TESTS + +$ npm test + +Note that this always uses an initial seed of 902101337, since it can't do effects. +-} + +import Runner.Log +import Html +import Tests + + +main : Program Never () msg +main = + Html.beginnerProgram + { model = () + , update = \_ _ -> () + , view = \() -> Html.text "Check the console for useful output!" + } + |> Runner.Log.run Tests.all diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/README.md b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/README.md new file mode 100644 index 0000000..d02b5de --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/README.md @@ -0,0 +1,6 @@ +## Running the tests for elm-test itself + +1. `cd` into this directory +2. `npm install` +3. `elm package install --yes` +4. `npm test` diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/Log.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/Log.elm new file mode 100644 index 0000000..84c9187 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/Log.elm @@ -0,0 +1,76 @@ +module Runner.Log exposing (run, runWithOptions) + +{-| # Log Runner + +Runs a test and outputs its results using `Debug.log`, then calls `Debug.crash` +if there are any failures. + +This is not the prettiest runner, but it is simple and cross-platform. For +example, you can use it as a crude Node runner like so: + + $ elm-make LogRunnerExample.elm --output=elm.js + $ node elm.js + +This will log the test results to the console, then exit with exit code 0 +if the tests all passed, and 1 if any failed. + +@docs run, runWithOptions +-} + +import Random.Pcg as Random +import Test exposing (Test) +import Runner.String exposing (Summary) +import String + + +{-| Run the test using the default `Test.Runner.String` options. +-} +run : Test -> a -> a +run test = + Runner.String.run test + |> logOutput + + +{-| Run the test using the provided options. +-} +runWithOptions : Int -> Random.Seed -> Test -> a -> a +runWithOptions runs seed test = + Runner.String.runWithOptions runs seed test + |> logOutput + + +summarize : Summary -> String +summarize { output, passed, failed } = + let + headline = + if failed > 0 then + output ++ "\n\nTEST RUN FAILED" + else + "TEST RUN PASSED" + in + String.join "\n" + [ output + , headline ++ "\n" + , "Passed: " ++ toString passed + , "Failed: " ++ toString failed + ] + + +logOutput : Summary -> a -> a +logOutput summary arg = + let + output = + summarize summary ++ "\n\nExit code" + + _ = + if summary.failed > 0 then + output + |> (flip Debug.log 1) + |> (\_ -> Debug.crash "FAILED TEST RUN") + |> (\_ -> ()) + else + output + |> (flip Debug.log 0) + |> (\_ -> ()) + in + arg diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/String.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/String.elm new file mode 100644 index 0000000..1056a77 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Runner/String.elm @@ -0,0 +1,111 @@ +module Runner.String exposing (Summary, run, runWithOptions) + +{-| # String Runner + +Run a test and present its results as a nicely-formatted String, along with +a count of how many tests passed and failed. + +Note that this always uses an initial seed of 902101337, since it can't do effects. + +@docs Summary, run, runWithOptions +-} + +import Random.Pcg as Random +import Test exposing (Test) +import Expect exposing (Expectation) +import String +import Test.Runner exposing (Runner(..)) + + +{-| The output string, the number of passed tests, +and the number of failed tests. +-} +type alias Summary = + { output : String, passed : Int, failed : Int } + + +toOutput : Summary -> Runner -> Summary +toOutput = + flip (toOutputHelp []) + + +toOutputHelp : List String -> Runner -> Summary -> Summary +toOutputHelp labels runner summary = + case runner of + Runnable runnable -> + Test.Runner.run runnable + |> List.foldl fromExpectation summary + + Labeled label subRunner -> + toOutputHelp (label :: labels) subRunner summary + + Batch runners -> + List.foldl (toOutputHelp labels) summary runners + + +fromExpectation : Expectation -> Summary -> Summary +fromExpectation expectation summary = + case Expect.getFailure expectation of + Nothing -> + { summary | passed = summary.passed + 1 } + + Just { given, message } -> + let + prefix = + if String.isEmpty given then + "" + else + "Given " ++ given ++ "\n\n" + + newOutput = + "\n\n" ++ (prefix ++ indentLines message) ++ "\n" + in + { output = summary.output ++ newOutput + , failed = summary.failed + 1 + , passed = summary.passed + } + + +outputLabels : List String -> String +outputLabels labels = + labels + |> Test.Runner.formatLabels ((++) "↓ ") ((++) "✗ ") + |> String.join "\n" + + +defaultSeed : Random.Seed +defaultSeed = + Random.initialSeed 902101337 + + +defaultRuns : Int +defaultRuns = + 100 + + +indentLines : String -> String +indentLines str = + str + |> String.split "\n" + |> List.map ((++) " ") + |> String.join "\n" + + +{-| Run a test and return a tuple of the output message and the number of +tests that failed. + +Fuzz tests use a default run count of 100, and a fixed initial seed. +-} +run : Test -> Summary +run = + runWithOptions defaultRuns defaultSeed + + +{-| Run a test and return a tuple of the output message and the number of +tests that failed. +-} +runWithOptions : Int -> Random.Seed -> Test -> Summary +runWithOptions runs seed test = + test + |> Test.Runner.fromTest runs seed + |> toOutput { output = "", passed = 0, failed = 0 } diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Tests.elm b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Tests.elm new file mode 100644 index 0000000..2de5a61 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/Tests.elm @@ -0,0 +1,229 @@ +module Tests exposing (all) + +import Test exposing (..) +import Test.Expectation exposing (Expectation(..)) +import Test.Internal as TI +import Fuzz exposing (..) +import Dict +import Set +import String +import Expect +import Fuzz.Internal +import RoseTree +import Random.Pcg as Random + + +all : Test +all = + Test.concat + [ readmeExample, bug39, fuzzerTests, shrinkingTests ] + + +{-| Regression test for https://github.com/elm-community/elm-test/issues/39 +-} +bug39 : Test +bug39 = + fuzz (intRange 1 32) "small slice end" <| + \positiveInt -> + positiveInt + |> Expect.greaterThan 0 + + +readmeExample : Test +readmeExample = + describe "The String module" + [ describe "String.reverse" + [ test "has no effect on a palindrome" <| + \() -> + let + palindrome = + "hannah" + in + Expect.equal palindrome (String.reverse palindrome) + , test "reverses a known string" <| + \() -> + "ABCDEFG" + |> String.reverse + |> Expect.equal "GFEDCBA" + , test "equal lists" <| + \() -> + [ 1, 2, 3 ] + |> Expect.equalLists [ 1, 2, 3 ] + , test "equal dicts" <| + \() -> + (Dict.fromList [ ( 1, "one" ), ( 2, "two" ) ]) + |> Expect.equalDicts (Dict.fromList [ ( 1, "one" ), ( 2, "two" ) ]) + , test "equal sets" <| + \() -> + (Set.fromList [ 1, 2, 3 ]) + |> Expect.equalSets (Set.fromList [ 1, 2, 3 ]) + , fuzz string "restores the original string if you run it again" <| + \randomlyGeneratedString -> + randomlyGeneratedString + |> String.reverse + |> String.reverse + |> Expect.equal randomlyGeneratedString + ] + ] + + +testStringLengthIsPreserved : List String -> Expectation +testStringLengthIsPreserved strings = + strings + |> List.map String.length + |> List.sum + |> Expect.equal (String.length (List.foldl (++) "" strings)) + + +fuzzerTests : Test +fuzzerTests = + describe "Fuzzer methods that use Debug.crash don't call it" + [ describe "FuzzN (uses tupleN) testing string length properties" + [ fuzz2 string string "fuzz2" <| + \a b -> + testStringLengthIsPreserved [ a, b ] + , fuzz3 string string string "fuzz3" <| + \a b c -> + testStringLengthIsPreserved [ a, b, c ] + , fuzz4 string string string string "fuzz4" <| + \a b c d -> + testStringLengthIsPreserved [ a, b, c, d ] + , fuzz5 string string string string string "fuzz5" <| + \a b c d e -> + testStringLengthIsPreserved [ a, b, c, d, e ] + ] + , fuzz + (intRange 1 6) + "intRange" + (Expect.greaterThan 0) + , fuzz + (frequencyOrCrash [ ( 1, intRange 1 6 ), ( 1, intRange 1 20 ) ]) + "Fuzz.frequency(OrCrash)" + (Expect.greaterThan 0) + , fuzz (result string int) "Fuzz.result" <| \r -> Expect.pass + , fuzz (andThen (\i -> intRange 0 (2 ^ i)) (intRange 1 8)) + "Fuzz.andThen" + (Expect.atMost 256) + , describe "Whitebox testing using Fuzz.Internal" + [ fuzz (intRange 0 0xFFFFFFFF) "the same value is generated with and without shrinking" <| + \i -> + let + seed = + Random.initialSeed i + + step gen = + Random.step gen seed + + aFuzzer = + tuple5 + ( tuple ( list int, array float ) + , maybe bool + , result unit char + , tuple3 + ( percentage + , map2 (+) int int + , frequencyOrCrash [ ( 1, constant True ), ( 3, constant False ) ] + ) + , tuple3 ( intRange 0 100, floatRange -51 pi, map abs int ) + ) + + valNoShrink = + aFuzzer |> Fuzz.Internal.unpackGenVal |> step |> Tuple.first + + valWithShrink = + aFuzzer |> Fuzz.Internal.unpackGenTree |> step |> Tuple.first |> RoseTree.root + in + Expect.equal valNoShrink valWithShrink + ] + ] + + +testShrinking : Test -> Test +testShrinking test = + case test of + TI.Test runTest -> + TI.Test + (\seed runs -> + let + expectations = + runTest seed runs + + goodShrink expectation = + case expectation of + Pass -> + Just "Expected this test to fail, but it passed!" + + Fail given outcome -> + let + acceptable = + String.split "|" outcome + in + if List.member given acceptable then + Nothing + else + Just <| "Got shrunken value " ++ given ++ " but expected " ++ String.join " or " acceptable + in + expectations + |> List.filterMap goodShrink + |> List.map Expect.fail + |> (\list -> + if List.isEmpty list then + [ Expect.pass ] + else + list + ) + ) + + TI.Labeled desc labeledTest -> + TI.Labeled desc (testShrinking labeledTest) + + TI.Batch tests -> + TI.Batch (List.map testShrinking tests) + + +shrinkingTests : Test +shrinkingTests = + testShrinking <| + describe "Tests that fail intentionally to test shrinking" + [ fuzz2 int int "Every pair of ints has a zero" <| + \i j -> + (i == 0) + || (j == 0) + |> Expect.true "(1,1)" + , fuzz3 int int int "Every triple of ints has a zero" <| + \i j k -> + (i == 0) + || (j == 0) + || (k == 0) + |> Expect.true "(1,1,1)" + , fuzz4 int int int int "Every 4-tuple of ints has a zero" <| + \i j k l -> + (i == 0) + || (j == 0) + || (k == 0) + || (l == 0) + |> Expect.true "(1,1,1,1)" + , fuzz5 int int int int int "Every 5-tuple of ints has a zero" <| + \i j k l m -> + (i == 0) + || (j == 0) + || (k == 0) + || (l == 0) + || (m == 0) + |> Expect.true "(1,1,1,1,1)" + , fuzz (list int) "All lists are sorted" <| + \aList -> + let + checkPair l = + case l of + a :: b :: more -> + if a > b then + False + else + checkPair (b :: more) + + _ -> + True + in + checkPair aList |> Expect.true "[1,0]|[0,-1]" + ] diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/elm-package.json b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/elm-package.json new file mode 100644 index 0000000..8fa2665 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/elm-package.json @@ -0,0 +1,19 @@ +{ + "version": "2.0.1", + "summary": "tests for elm-test, so you can elm-test while you elm-test", + "repository": "https://github.com/elm-community/elm-test.git", + "license": "BSD-3-Clause", + "source-directories": [ + ".", + "../src" + ], + "exposed-modules": [], + "dependencies": { + "elm-community/lazy-list": "1.0.0 <= v < 2.0.0", + "elm-community/shrink": "2.0.0 <= v < 3.0.0", + "elm-lang/core": "5.0.0 <= v < 6.0.0", + "elm-lang/html": "2.0.0 <= v < 3.0.0", + "mgold/elm-random-pcg": "4.0.2 <= v < 5.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/package.json b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/package.json new file mode 100644 index 0000000..b113a7b --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/package.json @@ -0,0 +1,22 @@ +{ + "name": "elm-test-tests", + "version": "0.0.0", + "description": "tests for elm-test, so you can elm-test while you elm-test", + "main": "elm.js", + "scripts": { + "test": "node run-tests.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/elm-community/elm-test.git" + }, + "author": "Richard Feldman", + "license": "BSD-3-Clause", + "bugs": { + "url": "https://github.com/elm-community/elm-test/issues" + }, + "homepage": "https://github.com/elm-community/elm-test#readme", + "devDependencies": { + "node-elm-compiler": "4.1.3" + } +} diff --git a/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/run-tests.js b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/run-tests.js new file mode 100644 index 0000000..7caef0f --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/elm-test/3.1.0/tests/run-tests.js @@ -0,0 +1,19 @@ +var compiler = require("node-elm-compiler") + +testFile = "Main.elm" + +compiler.compileToString([testFile], {}).then(function(str) { + try { + eval(str); + + process.exit(0) + } catch (err) { + console.error(err); + + process.exit(1) + } +}).catch(function(err) { + console.error(err); + + process.exit(1) +}); diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/.gitignore b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/.gitignore new file mode 100644 index 0000000..5f11fd6 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/.gitignore @@ -0,0 +1,2 @@ +# Ignore build or dist files +/elm-stuff diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/CHANGELOG.md b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/CHANGELOG.md new file mode 100644 index 0000000..f8156e5 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/CHANGELOG.md @@ -0,0 +1,25 @@ +### 2.0.0 + +**Breaking Changes:** +- Upgrade for Elm 0.18 +- Removed `maybeNull` in favor of `Json.Decode.nullable` +- Removed `lazy` in favor of `Json.Decode.lazy` +- Renamed `apply` to `andMap` and reversed arguments to `Decoder a -> Decoder (a -> b) -> Decoder b` to make it work nicely with `(|>)` + +**Additions:** +- `fromResult : Result String a -> Decoder a` - convert a `Result` to a `Decoder`, helpful in `andThen` callbacks following the removal of `Json.Decode.customDecoder` +- `Json.Encode.Extra.maybe : (a -> Value) -> Maybe a -> Value` - encode a `Maybe a` given an encoder for `a`. Thanks to @hendore for this addition. + +**Other Stuff:** +- Code style conforms to elm-format + +#### 1.1.0 + +**Additions:** +- `Json.Decode.Extra.sequence` - lets you generate a list of `Decoder a` and attempt to apply them to a JSON list. _Authored by @cobalamin_ + + +#### 1.0.0 + +**Breaking Changes:** +- Upgrade for Elm 0.17 diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/LICENSE b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/LICENSE new file mode 100644 index 0000000..704c6f6 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 CircuitHub Inc., Elm Community members + +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. \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/README.md b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/README.md new file mode 100644 index 0000000..76b31c6 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/README.md @@ -0,0 +1,3 @@ +# json-extra + +Convenience functions for working with JSON diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/andMap.md b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/andMap.md new file mode 100644 index 0000000..a784986 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/andMap.md @@ -0,0 +1,61 @@ +## Json.Decode.Extra.andMap + +Imagine you have a data type for a user + +```elm +import Date (Date) + +type alias User = + { id : Int + , createdAt : Date + , updatedAt : Date + , deletedAt : Maybe Date + , username : Maybe String + , email : Maybe String + , isAdmin : Bool + } +``` + +You can use `andMap` to incrementally apply decoders to your `User` type alias +by using that type alias as a function. Recall that record type aliases are +also functions which accept arguments in the order their fields are declared. In +this case, `User` looks like + +```elm +User : Int -> Date -> Date -> Maybe Date -> Maybe String -> Maybe String -> Bool -> User +``` + +And also recall that Elm functions can be partially applied. We can use these +properties to apply each field of our JSON object to each field in our user one +field at a time. All we need to do is also wrap `User` in a decoder and step +through using `andMap`. + +```elm +userDecoder : Decoder User +userDecoder = + succeed User + |> andMap (field "id" int) + |> andMap (field "createdAt" date) + |> andMap (field "updatedAt" date) + |> andMap (field "deletedAt" (maybe date)) + |> andMap (field "username" (maybe string)) + |> andMap (field "email" (maybe string)) + |> andMap (field "isAdmin" bool) +``` + +This is a shortened form of + +```elm +userDecoder : Decoder User +userDecoder = + succeed User + |> andThen (\f -> map f (field "id" int)) + |> andThen (\f -> map f (field "createdAt" date)) + |> andThen (\f -> map f (field "updatedAt" date)) + |> andThen (\f -> map f (field "deletedAt" (maybe date))) + |> andThen (\f -> map f (field "username" (maybe string))) + |> andThen (\f -> map f (field "email" (maybe string))) + |> andThen (\f -> map f (field "isAdmin" bool)) +``` + +See also: The [docs for `(|:)`](https://github.com/elm-community/json-extra/blob/master/docs/infixAndMap.md) diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/infixAndMap.md b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/infixAndMap.md new file mode 100644 index 0000000..728761b --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/docs/infixAndMap.md @@ -0,0 +1,131 @@ +## Json.Decode.Extra.(|:) + + +Infix version of `andMap` that makes for a nice DSL when decoding objects. + +Consider the following type alias for a `Location`: + +```elm +type alias Location = + { id : Int + , name : String + , address : String + } +``` + +We can use `(|:)` to build up a decoder for `Location`: + +```elm +locationDecoder : Decoder Location +locationDecoder = + succeed Location + |: (field "id" int) + |: (field "name" string) + |: (field "address" string) +``` + + + +If you're curious, here's how this works behind the scenes, read on. + +`Location` is a type alias, and type aliases give you a convenience function +that returns an instance of the record in question. Try this out in `elm-repl`: + +```elm +> type alias Location = { id : Int, name: String, address: String } + +> Location + : Int -> String -> String -> Repl.Location + +> Location 1 "The White House" "1600 Pennsylvania Ave" +{ id = 1, name = "The White House", address = "1600 Pennsylvania Ave" } +``` + +In other words, if you call the `Location` function, passing three arguments, +it will return a new `Location` record by filling in each of its fields. (The +argument order is based on the order in which we listed the fields in the +type alias; the first argument sets `id`, the second argument sets `name`, etc.) + +Now try running this through `elm-repl`: + +```elm +> import Json.Decode exposing (succeed, int, string, field) + +> succeed Location + + : Json.Decode.Decoder + (Int -> String -> String -> Repl.Location) +``` + +So `succeed Location` gives us a `Decoder (Int -> String -> String -> Location)`. +That's not what we want! What we want is a `Decoder Location`. All we have so +far is a `Decoder` that wraps not a `Location`, but rather a function that +returns a `Location`. + +What `|: (field "id" int)` does is to take that wrapped function and pass an +argument to it. + +```elm +> import Json.Decode exposing (succeed, int, string, field) + +> (field "id" int) + : Json.Decode.Decoder Int + +> succeed Location |: (field "id" int) + + : Json.Decode.Decoder + (String -> String -> Repl.Location) +``` + +Notice how the wrapped function no longer takes an `Int` as its first argument. +That's because `(|:)` went ahead and supplied one: the `Int` wrapped by the decoder +`(field "id" int)` (which returns a `Decoder Int`). + +Compare: + +```elm +> succeed Location +Decoder (Int -> String -> String -> Location) + +> succeed Location |: (field "id" int) +Decoder (String -> String -> Location) +``` + +We still want a `Decoder Location` and we still don't have it yet. Our decoder +still wraps a function instead of a plain `Location`. However, that function is +now smaller by one argument! + +Let's repeat this pattern to provide the first `String` argument next. + +```elm +> succeed Location +Decoder (Int -> String -> String -> Location) + +> succeed Location |: (field "id" int) +Decoder (String -> String -> Location) + +> succeed Location |: (field "id" int) |: (field "name" string) +Decoder (String -> Location) +``` + +Smaller and smaller! Now we're down from `(Int -> String -> String -> Location)` +to `(String -> Location)`. What happens if we repeat the pattern one more time? + +```elm +> succeed Location +Decoder (Int -> String -> String -> Location) + +> succeed Location |: (field "id" int) +Decoder (String -> String -> Location) + +> succeed Location |: (field "id" int) |: (field "name" string) +Decoder (String -> Location) + +> succeed Location |: (field "id" int) |: (field "name" string) |: (field "address" string) +Decoder Location +``` + +Having now supplied all three arguments to the wrapped function, it has ceased +to be a function. It's now just a plain old `Location`, like we wanted all along. + +We win! diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/elm-package.json b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/elm-package.json new file mode 100644 index 0000000..78da4e5 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/elm-package.json @@ -0,0 +1,17 @@ +{ + "version": "2.0.0", + "summary": "Convenience functions for working with Json", + "repository": "https://github.com/elm-community/json-extra.git", + "license": "MIT", + "source-directories": [ + "src" + ], + "exposed-modules": [ + "Json.Decode.Extra", + "Json.Encode.Extra" + ], + "dependencies": { + "elm-lang/core": "5.0.0 <= v < 6.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Decode/Extra.elm b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Decode/Extra.elm new file mode 100644 index 0000000..bcbec90 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Decode/Extra.elm @@ -0,0 +1,174 @@ +module Json.Decode.Extra exposing (date, andMap, (|:), sequence, set, dict2, withDefault, fromResult) + +{-| Convenience functions for working with Json + +# Date +@docs date + +# Incremental Decoding +@docs andMap, (|:) + +# List +@docs sequence + +# Set +@docs set + +# Dict +@docs dict2 + +# Maybe +@docs withDefault + +# Result +@docs fromResult + +-} + +import Json.Decode exposing (..) +import Date +import Dict exposing (Dict) +import Set exposing (Set) + + +{-| Can be helpful when decoding large objects incrementally. + +See [the `andMap` docs](https://github.com/elm-community/json-extra/blob/2.0.0/docs/andMap.md) +for an explanation of how `andMap` works and how to use it. +-} +andMap : Decoder a -> Decoder (a -> b) -> Decoder b +andMap = + map2 (|>) + + +{-| Infix version of `andMap` that makes for a nice DSL when decoding objects. + +See [the `(|:)` docs](https://github.com/elm-community/json-extra/blob/2.0.0/docs/infixAndMap.md) +for an explanation of how `(|:)` works and how to use it. +-} +(|:) : Decoder (a -> b) -> Decoder a -> Decoder b +(|:) = + flip andMap + + +{-| Extract a date using [`Date.fromString`](http://package.elm-lang.org/packages/elm-lang/core/latest/Date#fromString) +-} +date : Decoder Date.Date +date = + string + |> andThen (Date.fromString >> fromResult) + + +{-| Extract a set. +-} +set : Decoder comparable -> Decoder (Set comparable) +set decoder = + (list decoder) + |> andThen (Set.fromList >> succeed) + + +{-| Extract a dict using separate decoders for keys and values. +-} +dict2 : Decoder comparable -> Decoder v -> Decoder (Dict comparable v) +dict2 keyDecoder valueDecoder = + (dict valueDecoder) + |> andThen (Dict.toList >> (decodeDictFromTuples keyDecoder)) + + +{-| Helper function for dict +-} +decodeDictFromTuples : Decoder comparable -> List ( String, v ) -> Decoder (Dict comparable v) +decodeDictFromTuples keyDecoder tuples = + case tuples of + [] -> + succeed Dict.empty + + ( strKey, value ) :: rest -> + case decodeString keyDecoder strKey of + Ok key -> + (decodeDictFromTuples keyDecoder rest) + |> andThen ((Dict.insert key value) >> succeed) + + Err error -> + fail error + + +{-| Try running the given decoder; if that fails, then succeed with the given +fallback value. + + -- If this field is missing or malformed, it will decode to []. + field "optionalNames" (list string) + |> (withDefault []) + +-} +withDefault : a -> Decoder a -> Decoder a +withDefault fallback decoder = + maybe decoder + |> andThen ((Maybe.withDefault fallback) >> succeed) + + +{-| This function turns a list of decoders into a decoder that returns a list. + +The returned decoder will zip the list of decoders with a list of values, matching each decoder with exactly one value at the same position. This is most often useful in cases when you find yourself needing to dynamically generate a list of decoders based on some data, and decode some other data with this list of decoders. There are other functions that seem similar: + +- `Json.Decode.oneOf`, which will try every decoder for every value in the list, might be too lenient (e.g. a `4.0` will be interpreted as an `Int` just fine). +- `Json.Decode.tuple1-8`, which do something similar, but have a hard-coded length. As opposed to these functions, where you can decode several different types and combine them, you'll need to manually unify all those types in one sum type to use `sequence`. + +Note that this function, unlike `List.map2`'s behaviour, expects the list of decoders to have the same length as the list of values in the JSON. + + type FloatOrInt + = I Int + | F Float + + -- we'd like a list like [I, F, I] from this + -- fairly contrived example, but data like this does exist! + json = "[1, 2.0, 3]" + + intDecoder = Decode.map I Decode.int + floatDecoder = Decode.map F Decode.float + + decoder : Decoder (List FloatOrInt) + decoder = + sequence [ intDecoder, floatDecoder, intDecoder ] + + decoded = Decode.decodeString decoder json + -- Ok ([I 1,F 2,I 3]) : Result String (List FloatOrInt) + +-} +sequence : List (Decoder a) -> Decoder (List a) +sequence decoders = + list value |> andThen (sequenceHelp decoders) + + +{-| Helper function for sequence +-} +sequenceHelp : List (Decoder a) -> List Value -> Decoder (List a) +sequenceHelp decoders jsonValues = + if List.length jsonValues /= List.length decoders then + fail "Number of decoders does not match number of values" + else + List.map2 decodeValue decoders jsonValues + |> List.foldr (Result.map2 (::)) (Ok []) + |> fromResult + + +{-| Transform a result into a decoder + +Sometimes it can be useful to use functions that primarily operate on +`Result` in decoders. An example of this is `Json.Decode.Extra.date`. It +uses the built-in `Date.fromString` to parse a `String` as a `Date`, and +then converts the `Result` from that conversion into a decoder which has +either already succeeded or failed based on the outcome. + + date : Decoder Date + date = + string |> andThen (Date.fromString >> fromResult) +-} +fromResult : Result String a -> Decoder a +fromResult result = + case result of + Ok successValue -> + succeed successValue + + Err errorMessage -> + fail errorMessage diff --git a/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Encode/Extra.elm b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Encode/Extra.elm new file mode 100644 index 0000000..05d4f60 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/json-extra/2.0.0/src/Json/Encode/Extra.elm @@ -0,0 +1,26 @@ +module Json.Encode.Extra exposing (maybe) + +{-| Convenience functions for turning Elm values into Json values. + +# Maybe +@docs maybe + +-} + +import Json.Encode exposing (..) + + +{-| Encode a Maybe value. If the value is `Nothing` it will be encoded as `null` + + maybe int Nothing == Value null + maybe int (Just 50) == Value 50 + +-} +maybe : (a -> Value) -> Maybe a -> Value +maybe encoder value = + case value of + Nothing -> + null + + Just val -> + encoder val diff --git a/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/.gitignore b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/.gitignore new file mode 100644 index 0000000..4bc8535 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/.gitignore @@ -0,0 +1 @@ +elm-stuff diff --git a/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/README.md b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/README.md new file mode 100644 index 0000000..4d6f52a --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/README.md @@ -0,0 +1,5 @@ +# Lazy list implementation in Elm + +Lazy lists are useful for large trees where you will only need one path. They power shrinking in elm-test. + +Prior to 0.18, this repo was elm-lazy-list. Starting with the 0.18 release, the repo is renamed lazy-list and versioning resets to 1.0.0. diff --git a/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/elm-package.json b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/elm-package.json new file mode 100644 index 0000000..5517b41 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/elm-package.json @@ -0,0 +1,17 @@ +{ + "version": "1.0.0", + "summary": "Lazy list implementation in Elm", + "repository": "https://github.com/elm-community/lazy-list.git", + "license": "BSD-3-Clause", + "source-directories": [ + "src" + ], + "exposed-modules": [ + "Lazy.List" + ], + "dependencies": { + "elm-lang/core": "5.0.0 <= v < 6.0.0", + "elm-lang/lazy": "2.0.0 <= v < 3.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/src/Lazy/List.elm b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/src/Lazy/List.elm new file mode 100644 index 0000000..02c14fd --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/lazy-list/1.0.0/src/Lazy/List.elm @@ -0,0 +1,748 @@ +module Lazy.List exposing (..) + +{-| Lazy list implementation in Elm. + +# Types +@docs LazyList, LazyListView + +# Constructors +@docs cons, empty, singleton + +# Query operations +@docs isEmpty, head, tail, headAndTail, member, length + +# Conversions +@docs toList, fromList, toArray, fromArray + +# Map-reduce et al. +@docs map, zip, reduce, flatten, append, foldl, foldr + +# Common operations +@docs intersperse, interleave, reverse, cycle, iterate, repeat, take, takeWhile, drop, dropWhile + +# Filtering operations +@docs keepIf, dropIf, filterMap, unique + +# Chaining operations +@docs andMap, andThen + +# Useful math stuff +@docs numbers, sum, product + +# All the maps! +@docs map2, map3, map4, map5 + +# All the zips! +@docs zip3, zip4, zip5 + +# All the Cartesian products! +**Warning:** Calling these functions on large lists and then calling `toList` can easily overflow the stack. Consider +passing the results to `take aConstantNumber`. + +@docs product2, product3, product4, product5 + +# Infix Operators +@docs (:::), (+++) + +-} + +import Array exposing (Array) +import List +import Random exposing (Generator, Seed) +import Lazy exposing (Lazy, lazy, force) + + +{-| Analogous to `List` type. This is the actual implementation type for the +`LazyList` type. This type is exposed to the user if the user so wishes to +do pattern matching or understand how the list type works. It is not +recommended to work with this type directly. Try working solely with the +provided functions in the package. +-} +type LazyListView a + = Nil + | Cons a (LazyList a) + + +{-| Lazy List type. +-} +type alias LazyList a = + Lazy (LazyListView a) + + +{-| Create an empty list. +-} +empty : LazyList a +empty = + lazy <| + \() -> Nil + + +{-| Create a singleton list. +-} +singleton : a -> LazyList a +singleton a = + cons a empty + + +{-| Detect if a list is empty or not. +-} +isEmpty : LazyList a -> Bool +isEmpty list = + case force list of + Nil -> + True + + _ -> + False + + +{-| Add a value to the front of a list. +-} +cons : a -> LazyList a -> LazyList a +cons a list = + lazy <| + \() -> + Cons a list + + +{-| Get the head of a list. +-} +head : LazyList a -> Maybe a +head list = + case force list of + Nil -> + Nothing + + Cons first _ -> + Just first + + +{-| Get the tail of a list. +-} +tail : LazyList a -> Maybe (LazyList a) +tail list = + case force list of + Nil -> + Nothing + + Cons _ rest -> + Just rest + + +{-| Get the head and tail of a list. +-} +headAndTail : LazyList a -> Maybe ( a, LazyList a ) +headAndTail list = + case force list of + Nil -> + Nothing + + Cons first rest -> + Just ( first, rest ) + + +{-| Repeat a value ad infinitum. +Be careful when you use this. The result of this is a truly infinite list. +Do not try calling `reduce` or `toList` on an infinite list as it'll never +finish computing. Make sure you then filter it down to a finite list with `head` +or `take` or something. +-} +repeat : a -> LazyList a +repeat a = + lazy <| + \() -> + Cons a (repeat a) + + +{-| Append a list to another list. +-} +append : LazyList a -> LazyList a -> LazyList a +append list1 list2 = + lazy <| + \() -> + case force list1 of + Nil -> + force list2 + + Cons first rest -> + force (first ::: rest +++ list2) + + +{-| Interleave the elements of a list in another list. The two lists get +interleaved at the end. +-} +interleave : LazyList a -> LazyList a -> LazyList a +interleave list1 list2 = + lazy <| + \() -> + case force list1 of + Nil -> + force list2 + + Cons first1 rest1 -> + case force list2 of + Nil -> + force list1 + + Cons first2 rest2 -> + force (first1 ::: first2 ::: interleave rest1 rest2) + + +{-| Places the given value between all members of the given list. +-} +intersperse : a -> LazyList a -> LazyList a +intersperse a list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + case force rest of + Nil -> + force (first ::: empty) + + Cons second tail -> + case force tail of + Nil -> + force (first ::: a ::: second ::: empty) + + _ -> + force (first ::: a ::: second ::: a ::: intersperse a tail) + + +{-| Take a list and repeat it ad infinitum. This cycles a finite list +by putting the front after the end of the list. This results in a no-op in +the case of an infinite list. +-} +cycle : LazyList a -> LazyList a +cycle list = + list + +++ (lazy <| + \() -> + force (cycle list) + ) + + +{-| Create an infinite list of applications of a function on some value. + +Equivalent to: + + x ::: f x ::: f (f x) ::: f (f (f x)) ::: ... -- etc... +-} +iterate : (a -> a) -> a -> LazyList a +iterate f a = + lazy <| + \() -> + Cons a (iterate f (f a)) + + +{-| The infinite list of counting numbers. + +i.e.: + + 1 ::: 2 ::: 3 ::: 4 ::: 5 ::: ... -- etc... +-} +numbers : LazyList number +numbers = + iterate ((+) 1) 1 + + +{-| Take at most `n` many values from a list. +-} +take : Int -> LazyList a -> LazyList a +take n list = + lazy <| + \() -> + if n <= 0 then + Nil + else + case force list of + Nil -> + Nil + + Cons first rest -> + Cons first (take (n - 1) rest) + + +{-| Take elements from a list as long as the predicate is satisfied. +-} +takeWhile : (a -> Bool) -> LazyList a -> LazyList a +takeWhile predicate list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + if predicate first then + Cons first (takeWhile predicate rest) + else + Nil + + +{-| Drop at most `n` many values from a list. +-} +drop : Int -> LazyList a -> LazyList a +drop n list = + lazy <| + \() -> + if n <= 0 then + force list + else + case force list of + Nil -> + Nil + + Cons first rest -> + force (drop (n - 1) rest) + + +{-| Drop elements from a list as long as the predicate is satisfied. +-} +dropWhile : (a -> Bool) -> LazyList a -> LazyList a +dropWhile predicate list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + if predicate first then + force (dropWhile predicate rest) + else + force list + + +{-| Test if a value is a member of a list. +-} +member : a -> LazyList a -> Bool +member a list = + case force list of + Nil -> + False + + Cons first rest -> + first == a || member a rest + + +{-| Get the length of a lazy list. + +Warning: This will not terminate if the list is infinite. +-} +length : LazyList a -> Int +length = + reduce (\_ n -> n + 1) 0 + + +{-| Remove all duplicates from a list and return a list of distinct elements. +-} +unique : LazyList a -> LazyList a +unique list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + if member first rest then + force (unique rest) + else + Cons first (unique rest) + + +{-| Keep all elements in a list that satisfy the given predicate. +-} +keepIf : (a -> Bool) -> LazyList a -> LazyList a +keepIf predicate list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + if predicate first then + Cons first (keepIf predicate rest) + else + force (keepIf predicate rest) + + +{-| Drop all elements in a list that satisfy the given predicate. +-} +dropIf : (a -> Bool) -> LazyList a -> LazyList a +dropIf predicate = + keepIf (\n -> not (predicate n)) + + +{-| Map a function that may fail over a lazy list, keeping only +the values that were successfully transformed. +-} +filterMap : (a -> Maybe b) -> LazyList a -> LazyList b +filterMap transform list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + case transform first of + Just val -> + Cons val (filterMap transform rest) + + Nothing -> + force (filterMap transform rest) + + +{-| Reduce a list with a given reducer and an initial value. + +Example : + reduce (+) 0 (1 ::: 2 ::: 3 ::: 4 ::: empty) == 10 +-} +reduce : (a -> b -> b) -> b -> LazyList a -> b +reduce reducer b list = + case force list of + Nil -> + b + + Cons first rest -> + reduce reducer (reducer first b) rest + + +{-| Analogous to `List.foldl`. Is an alias for `reduce`. +-} +foldl : (a -> b -> b) -> b -> LazyList a -> b +foldl = + reduce + + +{-| Analogous to `List.foldr`. +-} +foldr : (a -> b -> b) -> b -> LazyList a -> b +foldr reducer b list = + Array.foldr reducer b (toArray list) + + +{-| Get the sum of a list of numbers. +-} +sum : LazyList number -> number +sum = + reduce (+) 0 + + +{-| Get the product of a list of numbers. +-} +product : LazyList number -> number +product = + reduce (*) 1 + + +{-| Flatten a list of lists into a single list by appending all the inner +lists into one big list. +-} +flatten : LazyList (LazyList a) -> LazyList a +flatten list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + force (first +++ flatten rest) + + +{-| Chain list producing operations. Map then flatten. +-} +andThen : (a -> LazyList b) -> LazyList a -> LazyList b +andThen f list = + map f list |> flatten + + +{-| Reverse a list. +-} +reverse : LazyList a -> LazyList a +reverse = + reduce cons empty + + +{-| Map a function to a list. +-} +map : (a -> b) -> LazyList a -> LazyList b +map f list = + lazy <| + \() -> + case force list of + Nil -> + Nil + + Cons first rest -> + Cons (f first) (map f rest) + + +{-| -} +map2 : (a -> b -> c) -> LazyList a -> LazyList b -> LazyList c +map2 f list1 list2 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + case force list2 of + Nil -> + Nil + + Cons first2 rest2 -> + Cons (f first1 first2) (map2 f rest1 rest2) + + +{-| Known as `mapN` in some circles. Allows you to apply `map` in cases +where then number of arguments are greater than 5. + +The argument order is such that it works well with `|>` chains. +-} +andMap : LazyList a -> LazyList (a -> b) -> LazyList b +andMap listVal listFuncs = + map2 (<|) listFuncs listVal + + +{-| -} +map3 : (a -> b -> c -> d) -> LazyList a -> LazyList b -> LazyList c -> LazyList d +map3 f list1 list2 list3 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + case force list2 of + Nil -> + Nil + + Cons first2 rest2 -> + case force list3 of + Nil -> + Nil + + Cons first3 rest3 -> + Cons (f first1 first2 first3) (map3 f rest1 rest2 rest3) + + +{-| -} +map4 : (a -> b -> c -> d -> e) -> LazyList a -> LazyList b -> LazyList c -> LazyList d -> LazyList e +map4 f list1 list2 list3 list4 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + case force list2 of + Nil -> + Nil + + Cons first2 rest2 -> + case force list3 of + Nil -> + Nil + + Cons first3 rest3 -> + case force list4 of + Nil -> + Nil + + Cons first4 rest4 -> + Cons (f first1 first2 first3 first4) (map4 f rest1 rest2 rest3 rest4) + + +{-| -} +map5 : (a -> b -> c -> d -> e -> f) -> LazyList a -> LazyList b -> LazyList c -> LazyList d -> LazyList e -> LazyList f +map5 f list1 list2 list3 list4 list5 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + case force list2 of + Nil -> + Nil + + Cons first2 rest2 -> + case force list3 of + Nil -> + Nil + + Cons first3 rest3 -> + case force list4 of + Nil -> + Nil + + Cons first4 rest4 -> + case force list5 of + Nil -> + Nil + + Cons first5 rest5 -> + Cons + (f first1 first2 first3 first4 first5) + (map5 f rest1 rest2 rest3 rest4 rest5) + + +{-| -} +zip : LazyList a -> LazyList b -> LazyList ( a, b ) +zip = + map2 (,) + + +{-| -} +zip3 : LazyList a -> LazyList b -> LazyList c -> LazyList ( a, b, c ) +zip3 = + map3 (,,) + + +{-| -} +zip4 : LazyList a -> LazyList b -> LazyList c -> LazyList d -> LazyList ( a, b, c, d ) +zip4 = + map4 (,,,) + + +{-| -} +zip5 : LazyList a -> LazyList b -> LazyList c -> LazyList d -> LazyList e -> LazyList ( a, b, c, d, e ) +zip5 = + map5 (,,,,) + + +{-| Create a lazy list containing all possible pairs in the given lazy lists. +-} +product2 : LazyList a -> LazyList b -> LazyList ( a, b ) +product2 list1 list2 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + case force list2 of + Nil -> + Nil + + Cons _ _ -> + force <| map ((,) first1) list2 +++ product2 rest1 list2 + + +{-| Create a lazy list containing all possible triples in the given lazy lists. +-} +product3 : LazyList a -> LazyList b -> LazyList c -> LazyList ( a, b, c ) +product3 list1 list2 list3 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + force <| map (\( b, c ) -> ( first1, b, c )) (product2 list2 list3) +++ product3 rest1 list2 list3 + + +{-| Create a lazy list containing all possible 4-tuples in the given lazy lists. +-} +product4 : LazyList a -> LazyList b -> LazyList c -> LazyList d -> LazyList ( a, b, c, d ) +product4 list1 list2 list3 list4 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + force <| map (\( b, c, d ) -> ( first1, b, c, d )) (product3 list2 list3 list4) +++ product4 rest1 list2 list3 list4 + + +{-| Create a lazy list containing all possible 5-tuples in the given lazy lists. +-} +product5 : LazyList a -> LazyList b -> LazyList c -> LazyList d -> LazyList e -> LazyList ( a, b, c, d, e ) +product5 list1 list2 list3 list4 list5 = + lazy <| + \() -> + case force list1 of + Nil -> + Nil + + Cons first1 rest1 -> + force <| map (\( b, c, d, e ) -> ( first1, b, c, d, e )) (product4 list2 list3 list4 list5) +++ product5 rest1 list2 list3 list4 list5 + + +{-| Convert a lazy list to a normal list. +-} +toList : LazyList a -> List a +toList list = + case force list of + Nil -> + [] + + Cons first rest -> + first :: toList rest + + +{-| Convert a normal list to a lazy list. +-} +fromList : List a -> LazyList a +fromList = + List.foldr cons empty + + +{-| Convert a lazy list to an array. +-} +toArray : LazyList a -> Array a +toArray list = + case force list of + Nil -> + Array.empty + + Cons first rest -> + Array.append (Array.push first Array.empty) (toArray rest) + + +{-| Convert an array to a lazy list. +-} +fromArray : Array a -> LazyList a +fromArray = + Array.foldr cons empty + + + +--------------------- +-- INFIX OPERATORS -- +--------------------- + + +infixr 5 ::: + + +{-| Alias for `cons`. Analogous to `::` for lists. +-} +(:::) : a -> LazyList a -> LazyList a +(:::) = + cons + + +infixr 5 +++ + + +{-| Alias for `append`. Analogous to `++` for lists. +-} +(+++) : LazyList a -> LazyList a -> LazyList a +(+++) = + append diff --git a/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/.gitignore b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/.gitignore new file mode 100644 index 0000000..4bc8535 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/.gitignore @@ -0,0 +1 @@ +elm-stuff diff --git a/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/README.md b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/README.md new file mode 100644 index 0000000..94fda59 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/README.md @@ -0,0 +1,241 @@ +# Shrinking strategies with elm-community/shrink + +`shrink` is a library for using and creating shrinking strategies. A +shrinking strategy, or shrinker, is a way of taking a value and producing a +list of values which are, some sense, more minimal than the original value. + +Shrinking is heavily used in property-based testing as a way to shrink +failing test cases into a more minimal test case. This is key for being +able to debug code swiftly and easily. Therefore, the main intended use +of this library is to support testing frameworks. You might also use it to +define shrinkers for types you define, in order to test them better. + +Note that `shrink` uses lazy lists instead of lists. This means that `shrink` has a direct dependency on +[elm-community/elm-lazy-list](https://github.com/elm-community/elm-lazy-list). + +```elm +type alias Shrinker a = a -> LazyList a +``` +That is, a shrinker takes a value to shrink, and produces, *lazily*, a list +of shrunken values. + +### Basic Examples + +The following examples show how to use the basic shrinkers and the kinds of +results they produce. Note that we're glossing over the lazy part of this; +pretend there's a `Lazy.List.toList` on the left of each example. + +**Shrink an Int** + +```elm +int 10 == [0,5,7,8,9] +``` + + +**Shrink a String** + +```elm +string "Hello World" == + [""," World","Hellod","llo World","Heo World","HellWorld","Hello rld","Hello Wod","ello World","Hllo World","Helo World","Helo World","Hell World","HelloWorld","Hello orld","Hello Wrld","Hello Wold","Hello Word","Hello Worl","\0ello World","$ello World","6ello World","?ello World","Cello World","Eello World","Fello World","Gello World","H\0llo World","H2llo World","HKllo World","HXllo World","H^llo World","Hallo World","Hcllo World","Hdllo World","He\0lo World","He6lo World","HeQlo World","He^lo World","Heelo World","Hehlo World","Hejlo World","Heklo World","Hel\0o World","Hel6o World","HelQo World","Hel^o World","Heleo World","Helho World","Heljo World","Helko World","Hell\0 World","Hell7 World","HellS World","Hella World","Hellh World","Hellk World","Hellm World","Helln World","Hello\0World","HelloWorld","HelloWorld","HelloWorld","HelloWorld","HelloWorld","Hello \0orld","Hello +orld","Hello Aorld","Hello Lorld","Hello Qorld","Hello Torld","Hello Uorld","Hello Vorld","Hello W\0rld","Hello W7rld","Hello WSrld","Hello Warld","Hello Whrld","Hello Wkrld","Hello Wmrld","Hello Wnrld","Hello Wo\0ld","Hello Wo9ld","Hello WoUld","Hello Wocld","Hello Wojld","Hello Wonld","Hello Wopld","Hello Woqld","Hello Wor\0d","Hello Wor6d","Hello WorQd","Hello Wor^d","Hello Wored","Hello Worhd","Hello Worjd","Hello Workd","Hello Worl\0","Hello Worl2","Hello WorlK","Hello WorlW","Hello Worl]","Hello Worl`","Hello Worlb","Hello Worlc"] +``` + +**Shrink a Maybe Float** + +```elm +maybe float (Just 3.14) == + [Nothing,Just 0,Just 1.57,Just 2.355,Just 2.7475,Just 2.94375,Just 3.041875,Just 3.0909375,Just 3.11546875,Just 3.127734375,Just 3.1338671875,Just 3.1369335937500002,Just 3.138466796875,Just 3.1392333984375,Just 3.1396166992187498,Just 3.1398083496093747] +``` + +**Shrink a List of Bools** + +```elm +list bool [True, False, False, True, False] == + [[],[False,True,False],[True,False,False],[False,False,True,False],[True,False,True,False],[True,False,True,False],[True,False,False,False],[True,False,False,True],[False,False,False,True,False],[True,False,False,False,False]] +``` + + +## Make your own shrinkers + +With `shrink`, it is very easy to make your own shrinkers for your own data +types. + +First of all, let's look at one of the basic shrinkers available in `shrink` +and how it is implemented. + +**Shrinker Bool** + +To shrink a `Bool`, you have to consider the possible values of `Bool`: `True` +and `False`. Intuitively, we understand that `False` is more "minimal" +than `True`. As, such, we would shrink `True` to `False`. As for `False`, +there is no value that is more "minimal" than `False`. As such, we simply +shrink it to the empty list. + +```elm +bool : Shrinker Bool +bool b = case b of + True -> False ::: empty + False -> empty +``` + +*Note that there is no "exact" rule to deciding on whether something is more +"minimal" than another.* The idea is that you want to have one case return +the empty list if possible while other cases move towards the more "minimal" +cases. In this example, we decided that `False` was the more "minimal" case and, +in a sense, moved `True` towards `False` since `False` then returns the empty +list. Obviously, this choice could have been reversed and you would be +justified in doing so. Just remember that *a value should never shrink to itself, +or shrink to something that (through any number of steps) shrinks back to itself.* +This is a recipe for an infinite loop. + +Now that we understand how to make a simple shrinker, let's see how we can use +these simple shrinkers together to make something that can shrink a more +complex data structure. + +**Shrinker Vector** + +Consider the following `Vector` type: + +```elm +type alias Vector = + { x : Float + , y : Float + , z : Float + } +``` + +Our goal is to produce a vector shrinker: + +```elm +vector : Shrinker Vector +``` + +`shrink` provides a basic `Float` shrinker and we can use it in combination +with `map` and `andMap` to make the `Vector` shrinker. + +```elm +vector : Shrinker Vector +vector {x, y, z} = + Vector + `map` float x + `andMap` float y + `andMap` float z +``` + +And voila! Super simple. Let's try this on an even larger structure. + + +**Shrinker Mario** + +Consider the following types: + +```elm +type alias Mario = + { position : Vector + , velocity : Vector + , direction : Direction + } + +type alias Vector = + { x : Float + , y : Float + } + +type Direction + = Left + | Right +``` + +And our goal is to produce a shrinker of Marios. + +```elm +mario : Shrinker Mario +``` + +To do this, we will split the steps. We can notice that we have two distinct +data types we need to shrink: `Vector` and `Direction`. + +For `Vector`, we can use the approach from the previous example: + +```elm +vector : Shrinker Vector +vector {x, y} = + Vector + `map` float x + `andMap` float y +``` + +And for `Direction`, we can apply a similar approach to our `Bool` example: + +```elm +direction : Shrinker Direction +direction dir = case dir of + Left -> empty + Right -> Left ::: empty +``` + +Where `Left` here is considered the "minimal" case. + + +Now, let's put these together: + +```elm +mario : Shrinker Mario +mario m = + Mario + `map` vector m.position + `andMap` vector m.velocity + `andMap` direction m.direction +``` + +And, yay! We now can shrink `Mario`! No mushrooms needed! + +### One more technique + +Sometimes, you want to shrink a data structure but you know intuitively that +it should shrink in a similar fashion to some other data structure. It would +be nice if you could just convert back and from that other data structure and +use its already existing shrinker. + +For example `List` and `Array`. + +In `shrink`, there exists a `List` shrinker: + +```elm +list : Shrinker a -> Shrinker (List a) +``` + +This shrinker is quite involved and does a number of things to shuffle elements, +shrink some elements, preserve others, etc... + +It would be nice if that can be re-used for arrays, because in a high-level +sense, arrays and lists are equivalent. + +This is exactly what `shrink` does and it uses a function called `convert`. + +```elm +convert : (a -> b) -> (b -> a) -> Shrinker a -> Shrinker b +``` + +`convert` converts a shrinker of a's into a shrinker of b's by taking a +two functions to convert to and from b's. + +**IMPORTANT NOTE: Both functions must be perfectly invertible or else this +process may create garbage!** + +By invertible, I mean that `f` and `g` are invertible **if and only if** + +```elm +f (g x) == g (f x) == x +``` + +**for all `x`.** + +Now we can very simply implement a shrinker of arrays as follows: + +```elm +array : Shrinker a -> Shrinker (Array a) +array shrinker = + convert (Array.fromList) (Array.toList) (list shrinker) +``` + +And, ta-da... 0 brain cells were used to get a shrinker on arrays. diff --git a/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/elm-package.json b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/elm-package.json new file mode 100644 index 0000000..96f434c --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/elm-package.json @@ -0,0 +1,18 @@ +{ + "version": "2.0.0", + "summary": "Library for authoring shrinking strategies", + "repository": "https://github.com/elm-community/shrink.git", + "license": "BSD-3-Clause", + "source-directories": [ + "src" + ], + "exposed-modules": [ + "Shrink" + ], + "dependencies": { + "elm-community/lazy-list": "1.0.0 <= v < 2.0.0", + "elm-lang/core": "5.0.0 <= v < 6.0.0", + "elm-lang/lazy": "2.0.0 <= v < 3.0.0" + }, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/src/Shrink.elm b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/src/Shrink.elm new file mode 100644 index 0000000..2439716 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-community/shrink/2.0.0/src/Shrink.elm @@ -0,0 +1,467 @@ +module Shrink exposing (Shrinker, shrink, noShrink, unit, bool, order, int, atLeastInt, float, atLeastFloat, char, atLeastChar, character, string, maybe, result, list, lazylist, array, tuple, tuple3, tuple4, tuple5, convert, keepIf, dropIf, merge, map, andMap) + +{-| Library containing a collection of basic shrinking strategies and +helper functions to help you construct shrinking strategies. + +# Shrinking Basics +@docs Shrinker, shrink + +# Shrinkers +@docs noShrink, unit, bool, order, int, atLeastInt, float, atLeastFloat, char, atLeastChar, character, string, maybe, result, lazylist, list, array, tuple, tuple3, tuple4, tuple5 + +# Functions on Shrinkers +@docs convert, keepIf, dropIf, merge, map, andMap + +-} + +import Lazy.List exposing (LazyList, (:::), (+++), empty) +import Lazy exposing (Lazy, force, lazy) +import List +import Array exposing (Array) +import Char +import String + + +{-| The shrinker type. +A shrinker is a function that takes a value and returns a list of values that +are in some sense "smaller" than the given value. If there are no such values +conceptually, then the shrinker should just return the empty list. +-} +type alias Shrinker a = + a -> LazyList a + + +{-| Perform shrinking. Takes a predicate that returns `True` if you want +shrinking to continue (e.g. the test failed). Also takes a shrinker and a value +to shrink. It returns the shrunken value, or the input value if no shrunken +values that satisfy the predicate are found. +-} +shrink : (a -> Bool) -> Shrinker a -> a -> a +shrink keepShrinking shrinker originalVal = + let + helper lazyList val = + case force lazyList of + Lazy.List.Nil -> + val + + Lazy.List.Cons head tail -> + if keepShrinking head then + helper (shrinker head) head + else + helper tail val + in + helper (shrinker originalVal) originalVal + + +{-| Perform no shrinking. Equivalent to the empty lazy list. +-} +noShrink : Shrinker a +noShrink _ = + empty + + +{-| Shrink the empty tuple. Equivalent to `noShrink`. +-} +unit : Shrinker () +unit = + noShrink + + +{-| Shrinker of bools. +-} +bool : Shrinker Bool +bool b = + case b of + True -> + False ::: empty + + False -> + empty + + +{-| Shrinker of `Order` values. +-} +order : Shrinker Order +order o = + case o of + GT -> + EQ ::: LT ::: empty + + LT -> + EQ ::: empty + + EQ -> + empty + + +{-| Shrinker of integers. +-} +int : Shrinker Int +int n = + if n < 0 then + -n ::: Lazy.List.map ((*) -1) (seriesInt 0 -n) + else + seriesInt 0 n + + +{-| Construct a shrinker of ints which considers the given int to +be most minimal. +-} +atLeastInt : Int -> Shrinker Int +atLeastInt min n = + if n < 0 && n >= min then + -n ::: Lazy.List.map ((*) -1) (seriesInt 0 -n) + else + seriesInt (max 0 min) n + + +{-| Shrinker of floats. +-} +float : Shrinker Float +float n = + if n < 0 then + -n ::: Lazy.List.map ((*) -1) (seriesFloat 0 -n) + else + seriesFloat 0 n + + +{-| Construct a shrinker of floats which considers the given float to +be most minimal. +-} +atLeastFloat : Float -> Shrinker Float +atLeastFloat min n = + if n < 0 && n >= min then + -n ::: Lazy.List.map ((*) -1) (seriesFloat 0 -n) + else + seriesFloat (max 0 min) n + + +{-| Shrinker of chars. +-} +char : Shrinker Char +char = + convert Char.fromCode Char.toCode int + + +{-| Construct a shrinker of chars which considers the given char to +be most minimal. +-} +atLeastChar : Char -> Shrinker Char +atLeastChar char = + convert Char.fromCode Char.toCode (atLeastInt (Char.toCode char)) + + +{-| Shrinker of chars which considers the empty space as the most +minimal char and omits the control key codes. + +Equivalent to: + + atLeastChar (Char.fromCode 32) +-} +character : Shrinker Char +character = + atLeastChar (Char.fromCode 32) + + +{-| Shrinker of strings. Considers the empty string to be the most +minimal string and the space to be the most minimal char. + +Equivalent to: + + convert String.fromList String.toList (list character) +-} +string : Shrinker String +string = + convert String.fromList String.toList (list character) + + +{-| Maybe shrinker constructor. +Takes a shrinker of values and returns a shrinker of Maybes. +-} +maybe : Shrinker a -> Shrinker (Maybe a) +maybe shrink m = + case m of + Just a -> + Nothing ::: Lazy.List.map Just (shrink a) + + Nothing -> + empty + + +{-| Result shrinker constructor. Takes a shrinker of errors and a shrinker of +values and returns a shrinker of Results. +-} +result : Shrinker error -> Shrinker value -> Shrinker (Result error value) +result shrinkError shrinkValue r = + case r of + Ok value -> + Lazy.List.map Ok (shrinkValue value) + + Err error -> + Lazy.List.map Err (shrinkError error) + + +{-| Lazy List shrinker constructor. Takes a shrinker of values and returns a +shrinker of Lazy Lists. The lazy list being shrunk must be finite. (I mean +really, how do you shrink infinity?) +-} +lazylist : Shrinker a -> Shrinker (LazyList a) +lazylist shrink l = + lazy <| + \() -> + let + n : Int + n = + Lazy.List.length l + + shrinkOne : LazyList a -> LazyList (LazyList a) + shrinkOne l = + lazy <| + \() -> + case force l of + Lazy.List.Nil -> + force empty + + Lazy.List.Cons x xs -> + force + (Lazy.List.map (flip (:::) xs) (shrink x) + +++ Lazy.List.map ((:::) x) (shrinkOne xs) + ) + + removes : Int -> Int -> Shrinker (LazyList a) + removes k n l = + lazy <| + \() -> + if k > n then + force empty + else if Lazy.List.isEmpty l then + force (empty ::: empty) + else + let + first = + Lazy.List.take k l + + rest = + Lazy.List.drop k l + in + force <| + rest + ::: Lazy.List.map ((+++) first) (removes k (n - k) rest) + in + force <| + Lazy.List.andThen (\k -> removes k n l) + (Lazy.List.takeWhile (\x -> x > 0) (Lazy.List.iterate (\n -> n // 2) n)) + +++ shrinkOne l + + +{-| List shrinker constructor. +Takes a shrinker of values and returns a shrinker of Lists. +-} +list : Shrinker a -> Shrinker (List a) +list shrink = + convert Lazy.List.toList Lazy.List.fromList (lazylist shrink) + + +{-| Array shrinker constructor. +Takes a shrinker of values and returns a shrinker of Arrays. +-} +array : Shrinker a -> Shrinker (Array a) +array shrink = + convert Lazy.List.toArray Lazy.List.fromArray (lazylist shrink) + + +{-| 2-Tuple shrinker constructor. +Takes a tuple of shrinkers and returns a shrinker of tuples. +-} +tuple : ( Shrinker a, Shrinker b ) -> Shrinker ( a, b ) +tuple ( shrinkA, shrinkB ) ( a, b ) = + Lazy.List.map ((,) a) (shrinkB b) + +++ Lazy.List.map (flip (,) b) (shrinkA a) + +++ Lazy.List.map2 (,) (shrinkA a) (shrinkB b) + + +{-| 3-Tuple shrinker constructor. +Takes a tuple of shrinkers and returns a shrinker of tuples. +-} +tuple3 : ( Shrinker a, Shrinker b, Shrinker c ) -> Shrinker ( a, b, c ) +tuple3 ( shrinkA, shrinkB, shrinkC ) ( a, b, c ) = + Lazy.List.map (\c -> ( a, b, c )) (shrinkC c) + +++ Lazy.List.map (\b -> ( a, b, c )) (shrinkB b) + +++ Lazy.List.map (\a -> ( a, b, c )) (shrinkA a) + +++ Lazy.List.map2 (\b c -> ( a, b, c )) (shrinkB b) (shrinkC c) + +++ Lazy.List.map2 (\a c -> ( a, b, c )) (shrinkA a) (shrinkC c) + +++ Lazy.List.map2 (\a b -> ( a, b, c )) (shrinkA a) (shrinkB b) + +++ Lazy.List.map3 (,,) (shrinkA a) (shrinkB b) (shrinkC c) + + +{-| 4-Tuple shrinker constructor. +Takes a tuple of shrinkers and returns a shrinker of tuples. +-} +tuple4 : ( Shrinker a, Shrinker b, Shrinker c, Shrinker d ) -> Shrinker ( a, b, c, d ) +tuple4 ( shrinkA, shrinkB, shrinkC, shrinkD ) ( a, b, c, d ) = + Lazy.List.map (\d -> ( a, b, c, d )) (shrinkD d) + +++ Lazy.List.map (\c -> ( a, b, c, d )) (shrinkC c) + +++ Lazy.List.map (\b -> ( a, b, c, d )) (shrinkB b) + +++ Lazy.List.map (\a -> ( a, b, c, d )) (shrinkA a) + +++ Lazy.List.map2 (\c d -> ( a, b, c, d )) (shrinkC c) (shrinkD d) + +++ Lazy.List.map2 (\b d -> ( a, b, c, d )) (shrinkB b) (shrinkD d) + +++ Lazy.List.map2 (\a d -> ( a, b, c, d )) (shrinkA a) (shrinkD d) + +++ Lazy.List.map2 (\b c -> ( a, b, c, d )) (shrinkB b) (shrinkC c) + +++ Lazy.List.map2 (\a c -> ( a, b, c, d )) (shrinkA a) (shrinkC c) + +++ Lazy.List.map2 (\a b -> ( a, b, c, d )) (shrinkA a) (shrinkB b) + +++ Lazy.List.map3 (\b c d -> ( a, b, c, d )) (shrinkB b) (shrinkC c) (shrinkD d) + +++ Lazy.List.map3 (\a c d -> ( a, b, c, d )) (shrinkA a) (shrinkC c) (shrinkD d) + +++ Lazy.List.map3 (\a b d -> ( a, b, c, d )) (shrinkA a) (shrinkB b) (shrinkD d) + +++ Lazy.List.map3 (\a b c -> ( a, b, c, d )) (shrinkA a) (shrinkB b) (shrinkC c) + +++ Lazy.List.map4 (,,,) (shrinkA a) (shrinkB b) (shrinkC c) (shrinkD d) + + +{-| 5-Tuple shrinker constructor. +Takes a tuple of shrinkers and returns a shrinker of tuples. +-} +tuple5 : ( Shrinker a, Shrinker b, Shrinker c, Shrinker d, Shrinker e ) -> Shrinker ( a, b, c, d, e ) +tuple5 ( shrinkA, shrinkB, shrinkC, shrinkD, shrinkE ) ( a, b, c, d, e ) = + Lazy.List.map (\e -> ( a, b, c, d, e )) (shrinkE e) + +++ Lazy.List.map (\d -> ( a, b, c, d, e )) (shrinkD d) + +++ Lazy.List.map (\c -> ( a, b, c, d, e )) (shrinkC c) + +++ Lazy.List.map (\b -> ( a, b, c, d, e )) (shrinkB b) + +++ Lazy.List.map (\a -> ( a, b, c, d, e )) (shrinkA a) + +++ Lazy.List.map2 (\d e -> ( a, b, c, d, e )) (shrinkD d) (shrinkE e) + +++ Lazy.List.map2 (\c e -> ( a, b, c, d, e )) (shrinkC c) (shrinkE e) + +++ Lazy.List.map2 (\b e -> ( a, b, c, d, e )) (shrinkB b) (shrinkE e) + +++ Lazy.List.map2 (\a e -> ( a, b, c, d, e )) (shrinkA a) (shrinkE e) + +++ Lazy.List.map2 (\c d -> ( a, b, c, d, e )) (shrinkC c) (shrinkD d) + +++ Lazy.List.map2 (\b d -> ( a, b, c, d, e )) (shrinkB b) (shrinkD d) + +++ Lazy.List.map2 (\a d -> ( a, b, c, d, e )) (shrinkA a) (shrinkD d) + +++ Lazy.List.map2 (\b c -> ( a, b, c, d, e )) (shrinkB b) (shrinkC c) + +++ Lazy.List.map2 (\a c -> ( a, b, c, d, e )) (shrinkA a) (shrinkC c) + +++ Lazy.List.map2 (\a b -> ( a, b, c, d, e )) (shrinkA a) (shrinkB b) + +++ Lazy.List.map3 (\a b c -> ( a, b, c, d, e )) (shrinkA a) (shrinkB b) (shrinkC c) + +++ Lazy.List.map3 (\a b d -> ( a, b, c, d, e )) (shrinkA a) (shrinkB b) (shrinkD d) + +++ Lazy.List.map3 (\a c d -> ( a, b, c, d, e )) (shrinkA a) (shrinkC c) (shrinkD d) + +++ Lazy.List.map3 (\b c d -> ( a, b, c, d, e )) (shrinkB b) (shrinkC c) (shrinkD d) + +++ Lazy.List.map3 (\a b e -> ( a, b, c, d, e )) (shrinkA a) (shrinkB b) (shrinkE e) + +++ Lazy.List.map3 (\a c e -> ( a, b, c, d, e )) (shrinkA a) (shrinkC c) (shrinkE e) + +++ Lazy.List.map3 (\b c e -> ( a, b, c, d, e )) (shrinkB b) (shrinkC c) (shrinkE e) + +++ Lazy.List.map3 (\a d e -> ( a, b, c, d, e )) (shrinkA a) (shrinkD d) (shrinkE e) + +++ Lazy.List.map3 (\b d e -> ( a, b, c, d, e )) (shrinkB b) (shrinkD d) (shrinkE e) + +++ Lazy.List.map3 (\c d e -> ( a, b, c, d, e )) (shrinkC c) (shrinkD d) (shrinkE e) + +++ Lazy.List.map4 (\b c d e -> ( a, b, c, d, e )) (shrinkB b) (shrinkC c) (shrinkD d) (shrinkE e) + +++ Lazy.List.map4 (\a c d e -> ( a, b, c, d, e )) (shrinkA a) (shrinkC c) (shrinkD d) (shrinkE e) + +++ Lazy.List.map4 (\a b d e -> ( a, b, c, d, e )) (shrinkA a) (shrinkB b) (shrinkD d) (shrinkE e) + +++ Lazy.List.map4 (\a b c d -> ( a, b, c, d, e )) (shrinkA a) (shrinkB b) (shrinkC c) (shrinkD d) + +++ Lazy.List.map5 (,,,,) (shrinkA a) (shrinkB b) (shrinkC c) (shrinkD d) (shrinkE e) + + + +---------------------- +-- HELPER FUNCTIONS -- +---------------------- + + +{-| Convert a Shrinker of a's into a Shrinker of b's using two inverse functions. + +If you use this function as follows: + + shrinkerB = f g shrinkerA + +Make sure that + + `f(g(x)) == x` for all x + +Or else this process will generate garbage. +-} +convert : (a -> b) -> (b -> a) -> Shrinker a -> Shrinker b +convert f g shrink b = + Lazy.List.map f (shrink (g b)) + + +{-| Filter out the results of a shrinker. The resulting shrinker +will only produce shrinks which satisfy the given predicate. +-} +keepIf : (a -> Bool) -> Shrinker a -> Shrinker a +keepIf predicate shrink a = + Lazy.List.keepIf predicate (shrink a) + + +{-| Filter out the results of a shrinker. The resulting shrinker +will only throw away shrinks which satisfy the given predicate. +-} +dropIf : (a -> Bool) -> Shrinker a -> Shrinker a +dropIf predicate = + keepIf (not << predicate) + + +{-| Merge two shrinkers. Generates all the values in the first +shrinker, and then all the non-duplicated values in the second +shrinker. +-} +merge : Shrinker a -> Shrinker a -> Shrinker a +merge shrink1 shrink2 a = + Lazy.List.unique (shrink1 a +++ shrink2 a) + + +{-| Re-export of `Lazy.List.map` +This is useful in order to compose shrinkers, especially when used in +conjunction with `andMap`. For example: + + type alias Vector = + { x : Float + , y : Float + , z : Float + } + + vector : Shrinker Vector + vector {x,y,z} = + Vector + `map` float x + `andMap` float y + `andMap` float z +-} +map : (a -> b) -> LazyList a -> LazyList b +map = + Lazy.List.map + + +{-| Apply a lazy list of functions on a lazy list of values. + +The argument order is so that it is easy to use in `|>` chains. +-} +andMap : LazyList a -> LazyList (a -> b) -> LazyList b +andMap = + Lazy.List.andMap + + + +----------------------- +-- PRIVATE FUNCTIONS -- +----------------------- + + +seriesInt : Int -> Int -> LazyList Int +seriesInt low high = + if low >= high then + empty + else if low == high - 1 then + low ::: empty + else + let + low_ = + low + ((high - low) // 2) + in + low ::: seriesInt low_ high + + +seriesFloat : Float -> Float -> LazyList Float +seriesFloat low high = + if low >= high - 0.0001 then + if high /= 0.000001 then + Lazy.List.singleton (low + 0.000001) + else + empty + else + let + low_ = + low + ((high - low) / 2) + in + low ::: seriesFloat low_ high diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.eslintrc b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.eslintrc new file mode 100644 index 0000000..169879a --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.eslintrc @@ -0,0 +1,156 @@ +{ + "parser": "babel-eslint", // https://github.com/babel/babel-eslint + "plugins": [], + "env": { // http://eslint.org/docs/user-guide/configuring.html#specifying-environments + "browser": true, // browser global variables + "node": true // Node.js global variables and Node.js-specific rules + }, + "ecmaFeatures": { + "arrowFunctions": true, + "blockBindings": true, + "classes": true, + "defaultParams": true, + "destructuring": true, + "forOf": true, + "generators": false, + "modules": true, + "objectLiteralComputedProperties": true, + "objectLiteralDuplicateProperties": false, + "objectLiteralShorthandMethods": true, + "objectLiteralShorthandProperties": true, + "spread": true, + "superInFunctions": true, + "templateStrings": true, + }, + "rules": { +/** + * Strict mode + */ + // babel inserts "use strict"; for us + "strict": [2, "never"], // http://eslint.org/docs/rules/strict + +/** + * Variables + */ + "no-shadow": 2, // http://eslint.org/docs/rules/no-shadow + "no-shadow-restricted-names": 2, // http://eslint.org/docs/rules/no-shadow-restricted-names + "no-unused-vars": [2, { // http://eslint.org/docs/rules/no-unused-vars + "vars": "local", + "args": "after-used" + }], + "no-use-before-define": 2, // http://eslint.org/docs/rules/no-use-before-define + +/** + * Possible errors + */ + "no-cond-assign": [2, "always"], // http://eslint.org/docs/rules/no-cond-assign + "no-console": 1, // http://eslint.org/docs/rules/no-console + "no-debugger": 1, // http://eslint.org/docs/rules/no-debugger + "no-alert": 1, // http://eslint.org/docs/rules/no-alert + "no-constant-condition": 1, // http://eslint.org/docs/rules/no-constant-condition + "no-dupe-keys": 2, // http://eslint.org/docs/rules/no-dupe-keys + "no-duplicate-case": 2, // http://eslint.org/docs/rules/no-duplicate-case + "no-empty": 2, // http://eslint.org/docs/rules/no-empty + "no-ex-assign": 2, // http://eslint.org/docs/rules/no-ex-assign + "no-extra-boolean-cast": 0, // http://eslint.org/docs/rules/no-extra-boolean-cast + "no-extra-semi": 2, // http://eslint.org/docs/rules/no-extra-semi + "no-func-assign": 2, // http://eslint.org/docs/rules/no-func-assign + "no-inner-declarations": 2, // http://eslint.org/docs/rules/no-inner-declarations + "no-invalid-regexp": 2, // http://eslint.org/docs/rules/no-invalid-regexp + "no-irregular-whitespace": 2, // http://eslint.org/docs/rules/no-irregular-whitespace + "no-obj-calls": 2, // http://eslint.org/docs/rules/no-obj-calls + "no-sparse-arrays": 2, // http://eslint.org/docs/rules/no-sparse-arrays + "no-unreachable": 2, // http://eslint.org/docs/rules/no-unreachable + "use-isnan": 2, // http://eslint.org/docs/rules/use-isnan + "block-scoped-var": 2, // http://eslint.org/docs/rules/block-scoped-var + +/** + * Best practices + */ + "consistent-return": 2, // http://eslint.org/docs/rules/consistent-return + "curly": [2, "multi-line"], // http://eslint.org/docs/rules/curly + "default-case": 2, // http://eslint.org/docs/rules/default-case + "dot-notation": [2, { // http://eslint.org/docs/rules/dot-notation + "allowKeywords": true + }], + "eqeqeq": 2, // http://eslint.org/docs/rules/eqeqeq + "max-len": [2, 100, 4], + "guard-for-in": 2, // http://eslint.org/docs/rules/guard-for-in + "no-caller": 2, // http://eslint.org/docs/rules/no-caller + "no-else-return": 2, // http://eslint.org/docs/rules/no-else-return + "no-eq-null": 2, // http://eslint.org/docs/rules/no-eq-null + "no-eval": 2, // http://eslint.org/docs/rules/no-eval + "no-extend-native": 2, // http://eslint.org/docs/rules/no-extend-native + "no-extra-bind": 2, // http://eslint.org/docs/rules/no-extra-bind + "no-fallthrough": 2, // http://eslint.org/docs/rules/no-fallthrough + "no-floating-decimal": 2, // http://eslint.org/docs/rules/no-floating-decimal + "no-implied-eval": 2, // http://eslint.org/docs/rules/no-implied-eval + "no-lone-blocks": 2, // http://eslint.org/docs/rules/no-lone-blocks + "no-loop-func": 2, // http://eslint.org/docs/rules/no-loop-func + "no-multi-str": 2, // http://eslint.org/docs/rules/no-multi-str + "no-native-reassign": 2, // http://eslint.org/docs/rules/no-native-reassign + "no-new": 2, // http://eslint.org/docs/rules/no-new + "no-new-func": 2, // http://eslint.org/docs/rules/no-new-func + "no-new-wrappers": 2, // http://eslint.org/docs/rules/no-new-wrappers + "no-octal": 2, // http://eslint.org/docs/rules/no-octal + "no-octal-escape": 2, // http://eslint.org/docs/rules/no-octal-escape + "no-param-reassign": 2, // http://eslint.org/docs/rules/no-param-reassign + "no-proto": 2, // http://eslint.org/docs/rules/no-proto + "no-redeclare": 2, // http://eslint.org/docs/rules/no-redeclare + "no-return-assign": 2, // http://eslint.org/docs/rules/no-return-assign + "no-script-url": 2, // http://eslint.org/docs/rules/no-script-url + "no-self-compare": 2, // http://eslint.org/docs/rules/no-self-compare + "no-sequences": 2, // http://eslint.org/docs/rules/no-sequences + "no-throw-literal": 2, // http://eslint.org/docs/rules/no-throw-literal + "no-with": 2, // http://eslint.org/docs/rules/no-with + "radix": 2, // http://eslint.org/docs/rules/radix + "wrap-iife": [2, "any"], // http://eslint.org/docs/rules/wrap-iife + "yoda": 2, // http://eslint.org/docs/rules/yoda + +/** + * Style + */ + "indent": [2, "tab"], // http://eslint.org/docs/rules/indent + "quotes": [ + 2, "single", "avoid-escape" // http://eslint.org/docs/rules/quotes + ], + "camelcase": [2, { // http://eslint.org/docs/rules/camelcase + "properties": "never" + }], + "comma-spacing": [2, { // http://eslint.org/docs/rules/comma-spacing + "before": false, + "after": true + }], + "comma-style": [2, "last"], // http://eslint.org/docs/rules/comma-style + "eol-last": 2, // http://eslint.org/docs/rules/eol-last + "func-names": 1, // http://eslint.org/docs/rules/func-names + "key-spacing": [2, { // http://eslint.org/docs/rules/key-spacing + "beforeColon": false, + "afterColon": true + }], + "no-multiple-empty-lines": [2, { // http://eslint.org/docs/rules/no-multiple-empty-lines + "max": 2 + }], + "no-nested-ternary": 2, // http://eslint.org/docs/rules/no-nested-ternary + "no-new-object": 2, // http://eslint.org/docs/rules/no-new-object + "no-spaced-func": 2, // http://eslint.org/docs/rules/no-spaced-func + "no-trailing-spaces": 2, // http://eslint.org/docs/rules/no-trailing-spaces + "no-extra-parens": [2, "functions"], // http://eslint.org/docs/rules/no-extra-parens + "no-underscore-dangle": 0, // http://eslint.org/docs/rules/no-underscore-dangle + "padded-blocks": [2, "never"], // http://eslint.org/docs/rules/padded-blocks + "semi": [2, "always"], // http://eslint.org/docs/rules/semi + "semi-spacing": [2, { // http://eslint.org/docs/rules/semi-spacing + "before": false, + "after": true + }], + "space-after-keywords": 2, // http://eslint.org/docs/rules/space-after-keywords + "space-before-blocks": 2, // http://eslint.org/docs/rules/space-before-blocks + "space-before-function-paren": [2, "never"], // http://eslint.org/docs/rules/space-before-function-paren + "space-infix-ops": 2, // http://eslint.org/docs/rules/space-infix-ops + "space-return-throw-case": 2, // http://eslint.org/docs/rules/space-return-throw-case + "spaced-comment": [2, "always", {// http://eslint.org/docs/rules/spaced-comment + "exceptions": ["-", "+"], + "markers": ["=", "!"] // space here to support sprockets directives + }] + } +} diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.gitignore b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.gitignore new file mode 100644 index 0000000..92d5be2 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.gitignore @@ -0,0 +1,2 @@ +elm-stuff +tests/test.js \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.travis.yml b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.travis.yml new file mode 100644 index 0000000..3f65ed0 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/.travis.yml @@ -0,0 +1,8 @@ +sudo: false # force container-based infrastructure +language: node_js +node_js: + - "4.3" +install: + - npm install -g elm@0.17 +script: + - bash tests/run-tests.sh diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md new file mode 100644 index 0000000..99b54d6 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Contributing to the core libraries + +Thanks helping with the development of Elm! This document describes the basic +standards for opening pull requests and making the review process as smooth as +possible. + +## Ground rules + + * Always make pull requests minimal. If it can be split up, it should be split up. + * Use style consistent with the file you are modifying. + * Use descriptive titles for PRs + * Provide all the necessary context for evaluation in the PR. + If there are relevant issues or examples or discussions, add them. + If things can be summarized, summarize them. The easiest PRs are ones + that already address the reviewers questions and concerns. + +## Documentation Fixes + +If you want to fix docs, just open a PR. This is super helpful! + +## Bug Fixes + +If you find an issue or see one you want to work on, go for it! + +The best strategy is often to dive in. Asking for directions usually +does not work. If someone knew the specifics and knew how how to fix +it, it is likely they would have already sent the PR themselves! + +Also, be sure you are testing. + +## Adding New Functions + +We are fairly conservative about adding new functions to core libraries. +If you want to augment the `List` or `Array` library, we recommend creating +small packages called `list-extras` or `array-extras` that have all the +features you want. + +Long term, we will set up a process to review `*-extras` packages to move +stuff into core. By going through packages, it will be much easier to assess +whether a function is pleasant and useful in practice before committing to it +in the core libraries. diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE new file mode 100644 index 0000000..e0419a4 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE @@ -0,0 +1,30 @@ +Copyright (c) 2014-present, Evan Czaplicki + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Evan Czaplicki nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/README.md b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/README.md new file mode 100644 index 0000000..07c3f6e --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/README.md @@ -0,0 +1,34 @@ +# Elm Core Libraries + +[![Build Status](https://travis-ci.org/elm-lang/core.svg?branch=master)](https://travis-ci.org/elm-lang/core) + +Every Elm project needs the core libraries. They provide basic functionality including: + + * The Basics — addition, subtraction, etc. + * Data Structures — lists, dictionaries, sets, etc. + + +## Default Imports + +All Elm files have some default imports: + +```elm +import Basics exposing (..) +import List exposing ( List, (::) ) +import Maybe exposing ( Maybe( Just, Nothing ) ) +import Result exposing ( Result( Ok, Err ) ) +import String +import Tuple + +import Debug + +import Platform exposing ( Program ) +import Platform.Cmd exposing ( Cmd, (!) ) +import Platform.Sub exposing ( Sub ) +``` + +The intention is to include things that are both extremely useful and very +unlikely to overlap with anything that anyone will ever write in a library. +By keeping the set of default imports small, it also becomes easier to use +whatever version of `map` suits your fancy. Finally, it makes it easier to +figure out where the heck a function is coming from. diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md new file mode 100644 index 0000000..9781f2c --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md @@ -0,0 +1,143 @@ +# 0.15 + +### Syntax + +New `import` syntax with keyword `exposing`. + +### Module Changes + + * Move `Http` to `elm-http` package and totally redo API + * Remove `WebSocket` module + * Add `Task` module + +### Channels become Mailboxes + +`Graphics.Input` now works with this API (from module `Signal`): + +```elm +type alias Mailbox a = { address : Address a, signal : Signal a } + +mailbox : a -> Mailbox a +``` + +You can then send messages to the `Address` with functions like `Signal.send` +and `Signal.message`, or create forwarding addresses with `Signal.forwardTo`. + +### Text in Collages + +`Graphics.Collage` now has two new functions: + +```elm +text : Text -> Form +outlinedText : LineStyle -> Text -> Form +``` + +These functions render text with the canvas, making things quite a bit faster. +The underlying implementation of `Text` has also been improved dramatically. + +### Miscellaneous + + * Change types of `head`, `tail`, `maximum`, `minimum` by wrapping output in `Maybe` + * Move `leftAligned`, `centered`, `rightAligned` from `Text` to `Graphics.Element` + * Move `asText` from `Text` to `Graphics.Element`, renaming it to `show` in the process + * Remove `Text.plainText` (can be replaced by `Graphics.Element.leftAligned << Text.fromString`) + * Change type of `Keyboard.keysDown` from `Signal (List KeyCode)` to `Signal (Set KeyCode)` + * Remove `Keyboard.directions` + * Rename `Keyboard.lastPressed` to `Keyboard.presses` + + +# 0.14 + +### Syntax + + * Keyword `type` becomes `type alias` + * Keyword `data` becomes `type` + * Remove special list syntax in types, so `[a]` becomes `List a` + + +### Reduce Default Imports + +The set of default imports has been reduced to the following: + +```haskell +import Basics (..) +import Maybe ( Maybe( Just, Nothing ) ) +import Result ( Result( Ok, Err ) ) +import List ( List ) +import Signal ( Signal ) +``` + +### Make JSON parsing easy + + * Added `Json.Decode` and `Json.Encode` libraries + + +### Use more natural names + + * Rename `String.show` to `String.toString` + + * Replace `List.zip` with `List.map2 (,)` + * Replace `List.zipWith f` with `List.map2 f` + + * Rename `Signal.liftN` to `Signal.mapN` + * Rename `Signal.merges` to `Signal.mergeMany` + + +### Simplify Signal Library + + * Revamp `Input` concept as `Signal.Channel` + * Remove `Signal.count` + * Remove `Signal.countIf` + * Remove `Signal.combine` + + +### Randomness Done Right + + * No longer signal-based + * Use a `Generator` to create random values + + + +### Revamp Maybes and Error Handling + + * Add the following functions to `Maybe` + + withDefault : a -> Maybe a -> a + oneOf : List (Maybe a) -> Maybe a + map : (a -> b) -> Maybe a -> Maybe b + andThen : Maybe a -> (a -> Maybe b) -> Maybe b + + * Remove `Maybe.maybe` so `maybe 0 sqrt Nothing` becomes `withDefault 0 (map sqrt Nothing)` + + * Remove `Maybe.isJust` and `Maybe.isNothing` in favor of pattern matching + + * Add `Result` library for proper error handling. This is for cases when + you want a computation to succeed, but if there is a mistake, it should + produce a nice error message. + + * Remove `Either` in favor of `Result` or custom union types + + * Revamp functions that result in a `Maybe`. + + - Remove `Dict.getOrElse` and `Dict.getOrFail` in favor of `withDefault 0 (Dict.get key dict)` + - Remove `Array.getOrElse` and `Array.getOrFail` in favor of `withDefault 0 (Array.get index array)` + - Change `String.toInt : String -> Maybe Int` to `String.toInt : String -> Result String Int` + - Change `String.toFloat : String -> Maybe Float` to `String.toFloat : String -> Result String Float` + + +### Make appending more logical + + * Add the following functions to `Text`: + + empty : Text + append : Text -> Text -> Text + concat : [Text] -> Text + join : Text -> [Text] -> Text + + * Make the following changes in `List`: + - Replace `(++)` with `append` + - Remove `join` + +### Miscellaneous + + * Rename `Text.toText` to `Text.fromString` diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json new file mode 100644 index 0000000..486d9b9 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json @@ -0,0 +1,38 @@ +{ + "version": "5.0.0", + "summary": "Elm's standard libraries", + "repository": "http://github.com/elm-lang/core.git", + "license": "BSD3", + "source-directories": [ + "src" + ], + "exposed-modules": [ + "Array", + "Basics", + "Bitwise", + "Char", + "Color", + "Date", + "Debug", + "Dict", + "Json.Decode", + "Json.Encode", + "List", + "Maybe", + "Platform", + "Platform.Cmd", + "Platform.Sub", + "Process", + "Random", + "Regex", + "Result", + "Set", + "String", + "Task", + "Time", + "Tuple" + ], + "native-modules": true, + "dependencies": {}, + "elm-version": "0.18.0 <= v < 0.19.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm new file mode 100644 index 0000000..a5a3233 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm @@ -0,0 +1,240 @@ +module Array exposing + ( Array + , empty, repeat, initialize, fromList + , isEmpty, length, push, append + , get, set + , slice, toList, toIndexedList + , map, indexedMap, filter, foldl, foldr + ) + +{-| A library for fast immutable arrays. The elements in an array must have the +same type. The arrays are implemented in Relaxed Radix Balanced-Trees for fast +reads, updates, and appends. + +# Arrays +@docs Array + +# Creating Arrays +@docs empty, repeat, initialize, fromList + +# Basics +@docs isEmpty, length, push, append + +# Get and Set +@docs get, set + +# Taking Arrays Apart +@docs slice, toList, toIndexedList + +# Mapping, Filtering, and Folding +@docs map, indexedMap, filter, foldl, foldr +-} + +import Native.Array +import Basics exposing (..) +import Maybe exposing (..) +import List + + +{-| Representation of fast immutable arrays. You can create arrays of integers +(`Array Int`) or strings (`Array String`) or any other type of value you can +dream up. +-} +type Array a = Array + + +{-| Initialize an array. `initialize n f` creates an array of length `n` with +the element at index `i` initialized to the result of `(f i)`. + + initialize 4 identity == fromList [0,1,2,3] + initialize 4 (\n -> n*n) == fromList [0,1,4,9] + initialize 4 (always 0) == fromList [0,0,0,0] +-} +initialize : Int -> (Int -> a) -> Array a +initialize = + Native.Array.initialize + + +{-| Creates an array with a given length, filled with a default element. + + repeat 5 0 == fromList [0,0,0,0,0] + repeat 3 "cat" == fromList ["cat","cat","cat"] + +Notice that `repeat 3 x` is the same as `initialize 3 (always x)`. +-} +repeat : Int -> a -> Array a +repeat n e = + initialize n (always e) + + +{-| Create an array from a list. +-} +fromList : List a -> Array a +fromList = + Native.Array.fromList + + +{-| Create a list of elements from an array. + + toList (fromList [3,5,8]) == [3,5,8] +-} +toList : Array a -> List a +toList = + Native.Array.toList + + +-- TODO: make this a native function. +{-| Create an indexed list from an array. Each element of the array will be +paired with its index. + + toIndexedList (fromList ["cat","dog"]) == [(0,"cat"), (1,"dog")] +-} +toIndexedList : Array a -> List (Int, a) +toIndexedList array = + List.map2 + (,) + (List.range 0 (Native.Array.length array - 1)) + (Native.Array.toList array) + + +{-| Apply a function on every element in an array. + + map sqrt (fromList [1,4,9]) == fromList [1,2,3] +-} +map : (a -> b) -> Array a -> Array b +map = + Native.Array.map + + +{-| Apply a function on every element with its index as first argument. + + indexedMap (*) (fromList [5,5,5]) == fromList [0,5,10] +-} +indexedMap : (Int -> a -> b) -> Array a -> Array b +indexedMap = + Native.Array.indexedMap + + +{-| Reduce an array from the left. Read `foldl` as “fold from the left”. + + foldl (::) [] (fromList [1,2,3]) == [3,2,1] +-} +foldl : (a -> b -> b) -> b -> Array a -> b +foldl = + Native.Array.foldl + + +{-| Reduce an array from the right. Read `foldr` as “fold from the right”. + + foldr (+) 0 (repeat 3 5) == 15 +-} +foldr : (a -> b -> b) -> b -> Array a -> b +foldr = + Native.Array.foldr + + +{-| Keep only elements that satisfy the predicate: + + filter isEven (fromList [1..6]) == (fromList [2,4,6]) +-} +filter : (a -> Bool) -> Array a -> Array a +filter isOkay arr = + let + update x xs = + if isOkay x then + Native.Array.push x xs + else + xs + in + Native.Array.foldl update Native.Array.empty arr + +{-| Return an empty array. + + length empty == 0 +-} +empty : Array a +empty = + Native.Array.empty + + +{-| Push an element to the end of an array. + + push 3 (fromList [1,2]) == fromList [1,2,3] +-} +push : a -> Array a -> Array a +push = + Native.Array.push + + +{-| Return Just the element at the index or Nothing if the index is out of range. + + get 0 (fromList [0,5,3]) == Just 0 + get 2 (fromList [0,5,3]) == Just 3 + get 5 (fromList [0,5,3]) == Nothing + get -1 (fromList [0,5,3]) == Nothing + +-} +get : Int -> Array a -> Maybe a +get i array = + if 0 <= i && i < Native.Array.length array then + Just (Native.Array.get i array) + else + Nothing + + +{-| Set the element at a particular index. Returns an updated array. +If the index is out of range, the array is unaltered. + + set 1 7 (fromList [1,2,3]) == fromList [1,7,3] +-} +set : Int -> a -> Array a -> Array a +set = + Native.Array.set + + +{-| Get a sub-section of an array: `(slice start end array)`. The `start` is a +zero-based index where we will start our slice. The `end` is a zero-based index +that indicates the end of the slice. The slice extracts up to but not including +`end`. + + slice 0 3 (fromList [0,1,2,3,4]) == fromList [0,1,2] + slice 1 4 (fromList [0,1,2,3,4]) == fromList [1,2,3] + +Both the `start` and `end` indexes can be negative, indicating an offset from +the end of the array. + + slice 1 -1 (fromList [0,1,2,3,4]) == fromList [1,2,3] + slice -2 5 (fromList [0,1,2,3,4]) == fromList [3,4] + +This makes it pretty easy to `pop` the last element off of an array: `slice 0 -1 array` +-} +slice : Int -> Int -> Array a -> Array a +slice = + Native.Array.slice + + +{-| Return the length of an array. + + length (fromList [1,2,3]) == 3 +-} +length : Array a -> Int +length = + Native.Array.length + + +{-| Determine if an array is empty. + + isEmpty empty == True +-} +isEmpty : Array a -> Bool +isEmpty array = + length array == 0 + + +{-| Append two arrays to a new one. + + append (repeat 2 42) (repeat 3 81) == fromList [42,42,81,81,81] +-} +append : Array a -> Array a -> Array a +append = + Native.Array.append diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm new file mode 100644 index 0000000..b1c56e8 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm @@ -0,0 +1,655 @@ +module Basics exposing + ( (==), (/=) + , (<), (>), (<=), (>=), max, min, Order (..), compare + , not, (&&), (||), xor + , (+), (-), (*), (/), (^), (//), rem, (%), negate, abs, sqrt, clamp, logBase, e + , pi, cos, sin, tan, acos, asin, atan, atan2 + , round, floor, ceiling, truncate, toFloat + , degrees, radians, turns + , toPolar, fromPolar + , isNaN, isInfinite + , toString, (++) + , identity, always, (<|), (|>), (<<), (>>), flip, curry, uncurry, Never, never + ) + +{-| Tons of useful functions that get imported by default. + +# Equality +@docs (==), (/=) + +# Comparison + +These functions only work on `comparable` types. This includes numbers, +characters, strings, lists of comparable things, and tuples of comparable +things. Note that tuples with 7 or more elements are not comparable; why +are your tuples so big? + +@docs (<), (>), (<=), (>=), max, min, Order, compare + +# Booleans +@docs not, (&&), (||), xor + +# Mathematics +@docs (+), (-), (*), (/), (^), (//), rem, (%), negate, abs, sqrt, clamp, logBase, e + +# Trigonometry +@docs pi, cos, sin, tan, acos, asin, atan, atan2 + +# Number Conversions +@docs round, floor, ceiling, truncate, toFloat + +# Angle Conversions +All angle conversions result in “standard Elm angles” +which happen to be radians. + +@docs degrees, radians, turns + +# Polar Coordinates +@docs toPolar, fromPolar + +# Floating Point Checks +@docs isNaN, isInfinite + +# Strings and Lists +@docs toString, (++) + +# Higher-Order Helpers +@docs identity, always, (<|), (|>), (<<), (>>), flip, curry, uncurry, Never, never + +-} + +import Native.Basics +import Native.Utils + + +{-| Convert radians to standard Elm angles (radians). -} +radians : Float -> Float +radians t = + t + + +{-| Convert degrees to standard Elm angles (radians). -} +degrees : Float -> Float +degrees = + Native.Basics.degrees + + +{-| Convert turns to standard Elm angles (radians). +One turn is equal to 360°. +-} +turns : Float -> Float +turns = + Native.Basics.turns + + +{-| Convert polar coordinates (r,θ) to Cartesian coordinates (x,y). -} +fromPolar : (Float,Float) -> (Float,Float) +fromPolar = + Native.Basics.fromPolar + + +{-| Convert Cartesian coordinates (x,y) to polar coordinates (r,θ). -} +toPolar : (Float,Float) -> (Float,Float) +toPolar = + Native.Basics.toPolar + + +{-|-} +(+) : number -> number -> number +(+) = + Native.Basics.add + + +{-|-} +(-) : number -> number -> number +(-) = + Native.Basics.sub + + +{-|-} +(*) : number -> number -> number +(*) = + Native.Basics.mul + + +{-| Floating point division. -} +(/) : Float -> Float -> Float +(/) = + Native.Basics.floatDiv + + +infixl 6 + +infixl 6 - +infixl 7 * +infixl 7 / +infixr 8 ^ + +infixl 7 // +infixl 7 % + + +{-| Integer division. The remainder is discarded. -} +(//) : Int -> Int -> Int +(//) = + Native.Basics.div + + +{-| Find the remainder after dividing one number by another. + + rem 11 4 == 3 + rem 12 4 == 0 + rem 13 4 == 1 + rem -1 4 == -1 +-} +rem : Int -> Int -> Int +rem = + Native.Basics.rem + + +{-| Perform [modular arithmetic](http://en.wikipedia.org/wiki/Modular_arithmetic). + + 7 % 2 == 1 + -1 % 4 == 3 +-} +(%) : Int -> Int -> Int +(%) = + Native.Basics.mod + + +{-| Exponentiation + + 3^2 == 9 +-} +(^) : number -> number -> number +(^) = + Native.Basics.exp + + +{-|-} +cos : Float -> Float +cos = + Native.Basics.cos + + +{-|-} +sin : Float -> Float +sin = + Native.Basics.sin + + +{-|-} +tan : Float -> Float +tan = + Native.Basics.tan + + +{-|-} +acos : Float -> Float +acos = + Native.Basics.acos + + +{-|-} +asin : Float -> Float +asin = + Native.Basics.asin + + +{-| You probably do not want to use this. It takes `(y/x)` as the +argument, so there is no way to know whether the negative signs comes from +the `y` or `x`. Thus, the resulting angle is always between π/2 and -π/2 +(in quadrants I and IV). You probably want to use `atan2` instead. +-} +atan : Float -> Float +atan = + Native.Basics.atan + + +{-| This helps you find the angle of a Cartesian coordinate. +You will almost certainly want to use this instead of `atan`. +So `atan2 y x` computes *atan(y/x)* but also keeps track of which +quadrant the angle should really be in. The result will be between +π and -π, giving you the full range of angles. +-} +atan2 : Float -> Float -> Float +atan2 = + Native.Basics.atan2 + + +{-| Take the square root of a number. -} +sqrt : Float -> Float +sqrt = + Native.Basics.sqrt + + +{-| Negate a number. + + negate 42 == -42 + negate -42 == 42 + negate 0 == 0 +-} +negate : number -> number +negate = + Native.Basics.negate + + +{-| Take the absolute value of a number. -} +abs : number -> number +abs = + Native.Basics.abs + + +{-| Calculate the logarithm of a number with a given base. + + logBase 10 100 == 2 + logBase 2 256 == 8 +-} +logBase : Float -> Float -> Float +logBase = + Native.Basics.logBase + + +{-| Clamps a number within a given range. With the expression +`clamp 100 200 x` the results are as follows: + + 100 if x < 100 + x if 100 <= x < 200 + 200 if 200 <= x +-} +clamp : number -> number -> number -> number +clamp = + Native.Basics.clamp + + +{-| An approximation of pi. -} +pi : Float +pi = + Native.Basics.pi + + +{-| An approximation of e. -} +e : Float +e = + Native.Basics.e + + +{-| Check if values are “the same”. + +**Note:** Elm uses structural equality on tuples, records, and user-defined +union types. This means the values `(3, 4)` and `(3, 4)` are definitely equal. +This is not true in languages like JavaScript that use reference equality on +objects. + +**Note:** Equality (in the Elm sense) is not possible for certain types. For +example, the functions `(\n -> n + 1)` and `(\n -> 1 + n)` are “the +same” but detecting this in general is [undecidable][]. In a future +release, the compiler will detect when `(==)` is used with problematic +types and provide a helpful error message. This will require quite serious +infrastructure work that makes sense to batch with another big project, so the +stopgap is to crash as quickly as possible. Problematic types include functions +and JavaScript values like `Json.Encode.Value` which could contain functions +if passed through a port. + +[undecidable]: https://en.wikipedia.org/wiki/Undecidable_problem +-} +(==) : a -> a -> Bool +(==) = + Native.Basics.eq + + +{-| Check if values are not “the same”. + +So `(a /= b)` is the same as `(not (a == b))`. +-} +(/=) : a -> a -> Bool +(/=) = + Native.Basics.neq + + +{-|-} +(<) : comparable -> comparable -> Bool +(<) = + Native.Basics.lt + + +{-|-} +(>) : comparable -> comparable -> Bool +(>) = + Native.Basics.gt + + +{-|-} +(<=) : comparable -> comparable -> Bool +(<=) = + Native.Basics.le + + +{-|-} +(>=) : comparable -> comparable -> Bool +(>=) = + Native.Basics.ge + + +infix 4 == +infix 4 /= +infix 4 < +infix 4 > +infix 4 <= +infix 4 >= + + +{-| Compare any two comparable values. Comparable values include `String`, `Char`, +`Int`, `Float`, `Time`, or a list or tuple containing comparable values. +These are also the only values that work as `Dict` keys or `Set` members. +-} +compare : comparable -> comparable -> Order +compare = + Native.Basics.compare + + +{-| Represents the relative ordering of two things. +The relations are less than, equal to, and greater than. +-} +type Order = LT | EQ | GT + + +{-| Find the smaller of two comparables. -} +min : comparable -> comparable -> comparable +min = + Native.Basics.min + + +{-| Find the larger of two comparables. -} +max : comparable -> comparable -> comparable +max = + Native.Basics.max + + +{-| The logical AND operator. `True` if both inputs are `True`. + +**Note:** When used in the infix position, like `(left && right)`, the operator +short-circuits. This means if `left` is `False` we do not bother evaluating `right` +and just return `False` overall. +-} +(&&) : Bool -> Bool -> Bool +(&&) = + Native.Basics.and + + +{-| The logical OR operator. `True` if one or both inputs are `True`. + +**Note:** When used in the infix position, like `(left || right)`, the operator +short-circuits. This means if `left` is `True` we do not bother evaluating `right` +and just return `True` overall. +-} +(||) : Bool -> Bool -> Bool +(||) = + Native.Basics.or + + +infixr 3 && +infixr 2 || + + +{-| The exclusive-or operator. `True` if exactly one input is `True`. -} +xor : Bool -> Bool -> Bool +xor = + Native.Basics.xor + + +{-| Negate a boolean value. + + not True == False + not False == True +-} +not : Bool -> Bool +not = + Native.Basics.not + + +-- Conversions + +{-| Round a number to the nearest integer. -} +round : Float -> Int +round = + Native.Basics.round + + +{-| Truncate a number, rounding towards zero. -} +truncate : Float -> Int +truncate = + Native.Basics.truncate + + +{-| Floor function, rounding down. -} +floor : Float -> Int +floor = + Native.Basics.floor + + +{-| Ceiling function, rounding up. -} +ceiling : Float -> Int +ceiling = + Native.Basics.ceiling + + +{-| Convert an integer into a float. -} +toFloat : Int -> Float +toFloat = + Native.Basics.toFloat + + +{-| Determine whether a float is an undefined or unrepresentable number. +NaN stands for *not a number* and it is [a standardized part of floating point +numbers](http://en.wikipedia.org/wiki/NaN). + + isNaN (0/0) == True + isNaN (sqrt -1) == True + isNaN (1/0) == False -- infinity is a number + isNaN 1 == False +-} +isNaN : Float -> Bool +isNaN = + Native.Basics.isNaN + + +{-| Determine whether a float is positive or negative infinity. + + isInfinite (0/0) == False + isInfinite (sqrt -1) == False + isInfinite (1/0) == True + isInfinite 1 == False + +Notice that NaN is not infinite! For float `n` to be finite implies that +`not (isInfinite n || isNaN n)` evaluates to `True`. +-} +isInfinite : Float -> Bool +isInfinite = + Native.Basics.isInfinite + + +{-| Turn any kind of value into a string. When you view the resulting string +with `Text.fromString` it should look just like the value it came from. + + toString 42 == "42" + toString [1,2] == "[1,2]" + toString "he said, \"hi\"" == "\"he said, \\\"hi\\\"\"" +-} +toString : a -> String +toString = + Native.Utils.toString + + +{-| Put two appendable things together. This includes strings, lists, and text. + + "hello" ++ "world" == "helloworld" + [1,1,2] ++ [3,5,8] == [1,1,2,3,5,8] +-} +(++) : appendable -> appendable -> appendable +(++) = + Native.Utils.append + + +infixr 5 ++ + + +-- Function Helpers + +{-| Function composition, passing results along in the suggested direction. For +example, the following code checks if the square root of a number is odd: + + not << isEven << sqrt + +You can think of this operator as equivalent to the following: + + (g << f) == (\x -> g (f x)) + +So our example expands out to something like this: + + \n -> not (isEven (sqrt n)) +-} +(<<) : (b -> c) -> (a -> b) -> (a -> c) +(<<) g f x = + g (f x) + + +{-| Function composition, passing results along in the suggested direction. For +example, the following code checks if the square root of a number is odd: + + sqrt >> isEven >> not + +This direction of function composition seems less pleasant than `(<<)` which +reads nicely in expressions like: `filter (not << isRegistered) students` +-} +(>>) : (a -> b) -> (b -> c) -> (a -> c) +(>>) f g x = + g (f x) + + +{-| Forward function application `x |> f == f x`. This function is useful +for avoiding parentheses and writing code in a more natural way. +Consider the following code to create a pentagon: + + scale 2 (move (10,10) (filled blue (ngon 5 30))) + +This can also be written as: + + ngon 5 30 + |> filled blue + |> move (10,10) + |> scale 2 +-} +(|>) : a -> (a -> b) -> b +(|>) x f = + f x + + +{-| Backward function application `f <| x == f x`. This function is useful for +avoiding parentheses. Consider the following code to create a text element: + + leftAligned (monospace (fromString "code")) + +This can also be written as: + + leftAligned <| monospace <| fromString "code" +-} +(<|) : (a -> b) -> a -> b +(<|) f x = + f x + + +infixr 9 << +infixl 9 >> +infixr 0 <| +infixl 0 |> + + +{-| Given a value, returns exactly the same value. This is called +[the identity function](http://en.wikipedia.org/wiki/Identity_function). +-} +identity : a -> a +identity x = + x + + +{-| Create a [constant function](http://en.wikipedia.org/wiki/Constant_function), +a function that *always* returns the same value regardless of what input you give. +It is defined as: + + always a b = a + +It totally ignores the second argument, so `always 42` is a function that always +returns 42. When you are dealing with higher-order functions, this comes in +handy more often than you might expect. For example, creating a zeroed out list +of length ten would be: + + map (always 0) [0..9] +-} +always : a -> b -> a +always a _ = + a + + +{-| Flip the order of the first two arguments to a function. -} +flip : (a -> b -> c) -> (b -> a -> c) +flip f b a = + f a b + + +{-| Change how arguments are passed to a function. +This splits paired arguments into two separate arguments. +-} +curry : ((a,b) -> c) -> a -> b -> c +curry f a b = + f (a,b) + + +{-| Change how arguments are passed to a function. +This combines two arguments into a single pair. +-} +uncurry : (a -> b -> c) -> (a,b) -> c +uncurry f (a,b) = + f a b + + +{-| A value that can never happen! For context: + + - The boolean type `Bool` has two values: `True` and `False` + - The unit type `()` has one value: `()` + - The never type `Never` has no values! + +You may see it in the wild in `Html Never` which means this HTML will never +produce any messages. You would need to write an event handler like +`onClick ??? : Attribute Never` but how can we fill in the question marks?! +So there cannot be any event handlers on that HTML. + +You may also see this used with tasks that never fail, like `Task Never ()`. + +The `Never` type is useful for restricting *arguments* to a function. Maybe my +API can only accept HTML without event handlers, so I require `Html Never` and +users can give `Html msg` and everything will go fine. Generally speaking, you +do not want `Never` in your return types though. +-} +type Never = JustOneMore Never + + +{-| A function that can never be called. Seems extremely pointless, but it +*can* come in handy. Imagine you have some HTML that should never produce any +messages. And say you want to use it in some other HTML that *does* produce +messages. You could say: + + import Html exposing (..) + + embedHtml : Html Never -> Html msg + embedHtml staticStuff = + div [] + [ text "hello" + , Html.map never staticStuff + ] + +So the `never` function is basically telling the type system, make sure no one +ever calls me! +-} +never : Never -> a +never (JustOneMore nvr) = + never nvr diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm new file mode 100644 index 0000000..14c7a82 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm @@ -0,0 +1,90 @@ +module Bitwise exposing + ( and, or, xor, complement + , shiftLeftBy, shiftRightBy, shiftRightZfBy + ) + +{-| Library for [bitwise operations](http://en.wikipedia.org/wiki/Bitwise_operation). + +# Basic Operations +@docs and, or, xor, complement + +# Bit Shifts +@docs shiftLeftBy, shiftRightBy, shiftRightZfBy +-} + +import Native.Bitwise + + +{-| Bitwise AND +-} +and : Int -> Int -> Int +and = + Native.Bitwise.and + + +{-| Bitwise OR +-} +or : Int -> Int -> Int +or = + Native.Bitwise.or + + +{-| Bitwise XOR +-} +xor : Int -> Int -> Int +xor = + Native.Bitwise.xor + + +{-| Flip each bit individually, often called bitwise NOT +-} +complement : Int -> Int +complement = + Native.Bitwise.complement + + +{-| Shift bits to the left by a given offset, filling new bits with zeros. +This can be used to multiply numbers by powers of two. + + shiftLeftBy 1 5 == 10 + shiftLeftBy 5 1 == 32 +-} +shiftLeftBy : Int -> Int -> Int +shiftLeftBy = + Native.Bitwise.shiftLeftBy + + +{-| Shift bits to the right by a given offset, filling new bits with +whatever is the topmost bit. This can be used to divide numbers by powers of two. + + shiftRightBy 1 32 == 16 + shiftRightBy 2 32 == 8 + shiftRightBy 1 -32 == -16 + +This is called an [arithmetic right shift][ars], often written (>>), and +sometimes called a sign-propagating right shift because it fills empty spots +with copies of the highest bit. + +[ars]: http://en.wikipedia.org/wiki/Bitwise_operation#Arithmetic_shift +-} +shiftRightBy : Int -> Int -> Int +shiftRightBy = + Native.Bitwise.shiftRightBy + + +{-| Shift bits to the right by a given offset, filling new bits with zeros. + + shiftRightZfBy 1 32 == 16 + shiftRightZfBy 2 32 == 8 + shiftRightZfBy 1 -32 == 2147483632 + +This is called an [logical right shift][lrs], often written (>>>), and +sometimes called a zero-fill right shift because it fills empty spots with +zeros. + +[lrs]: http://en.wikipedia.org/wiki/Bitwise_operation#Logical_shift +-} +shiftRightZfBy : Int -> Int -> Int +shiftRightZfBy = + Native.Bitwise.shiftRightZfBy + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm new file mode 100644 index 0000000..288f50b --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm @@ -0,0 +1,103 @@ +module Char exposing + ( isUpper, isLower, isDigit, isOctDigit, isHexDigit + , toUpper, toLower, toLocaleUpper, toLocaleLower + , KeyCode, toCode, fromCode + ) + +{-| Functions for working with characters. Character literals are enclosed in +`'a'` pair of single quotes. + +# Classification +@docs isUpper, isLower, isDigit, isOctDigit, isHexDigit + +# Conversion +@docs toUpper, toLower, toLocaleUpper, toLocaleLower + +# Key Codes +@docs KeyCode, toCode, fromCode + +-} + +import Native.Char +import Basics exposing ((&&), (||), (>=), (<=)) + + +isBetween : Char -> Char -> Char -> Bool +isBetween low high char = + let code = toCode char + in + (code >= toCode low) && (code <= toCode high) + + +{-| True for upper case ASCII letters. -} +isUpper : Char -> Bool +isUpper = + isBetween 'A' 'Z' + + +{-| True for lower case ASCII letters. -} +isLower : Char -> Bool +isLower = + isBetween 'a' 'z' + + +{-| True for ASCII digits `[0-9]`. -} +isDigit : Char -> Bool +isDigit = + isBetween '0' '9' + + +{-| True for ASCII octal digits `[0-7]`. -} +isOctDigit : Char -> Bool +isOctDigit = + isBetween '0' '7' + + +{-| True for ASCII hexadecimal digits `[0-9a-fA-F]`. -} +isHexDigit : Char -> Bool +isHexDigit char = + isDigit char || isBetween 'a' 'f' char || isBetween 'A' 'F' char + + +{-| Convert to upper case. -} +toUpper : Char -> Char +toUpper = + Native.Char.toUpper + + +{-| Convert to lower case. -} +toLower : Char -> Char +toLower = + Native.Char.toLower + + +{-| Convert to upper case, according to any locale-specific case mappings. -} +toLocaleUpper : Char -> Char +toLocaleUpper = + Native.Char.toLocaleUpper + + +{-| Convert to lower case, according to any locale-specific case mappings. -} +toLocaleLower : Char -> Char +toLocaleLower = + Native.Char.toLocaleLower + + +{-| Keyboard keys can be represented as integers. These are called *key codes*. +You can use [`toCode`](#toCode) and [`fromCode`](#fromCode) to convert between +key codes and characters. +-} +type alias KeyCode = Int + + +{-| Convert to key code. +-} +toCode : Char -> KeyCode +toCode = + Native.Char.toCode + + +{-| Convert from key code. -} +fromCode : KeyCode -> Char +fromCode = + Native.Char.fromCode diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm new file mode 100644 index 0000000..d150240 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm @@ -0,0 +1,456 @@ +module Color exposing + ( Color, rgb, rgba, hsl, hsla, greyscale, grayscale, complement + , Gradient, linear, radial + , toRgb, toHsl + , red, orange, yellow, green, blue, purple, brown + , lightRed, lightOrange, lightYellow, lightGreen, lightBlue, lightPurple, lightBrown + , darkRed, darkOrange, darkYellow, darkGreen, darkBlue, darkPurple, darkBrown + , white, lightGrey, grey, darkGrey, lightCharcoal, charcoal, darkCharcoal, black + , lightGray, gray, darkGray + ) + +{-| Library for working with colors. Includes +[RGB](https://en.wikipedia.org/wiki/RGB_color_model) and +[HSL](http://en.wikipedia.org/wiki/HSL_and_HSV) creation, gradients, and +built-in names. + +# Colors +@docs Color + +# Creation +@docs rgb, rgba, hsl, hsla, greyscale, grayscale, complement + +# Gradients +@docs Gradient, linear, radial + +# Extracting Colors +@docs toRgb, toHsl + +# Built-in Colors +These colors come from the [Tango +palette](http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines) +which provides aesthetically reasonable defaults for colors. Each color also +comes with a light and dark version. + +### Standard +@docs red, orange, yellow, green, blue, purple, brown + +### Light +@docs lightRed, lightOrange, lightYellow, lightGreen, lightBlue, lightPurple, lightBrown + +### Dark +@docs darkRed, darkOrange, darkYellow, darkGreen, darkBlue, darkPurple, darkBrown + +### Eight Shades of Grey +These colors are a compatible series of shades of grey, fitting nicely +with the Tango palette. +@docs white, lightGrey, grey, darkGrey, lightCharcoal, charcoal, darkCharcoal, black + +These are identical to the *grey* versions. It seems the spelling is regional, but +that has never helped me remember which one I should be writing. +@docs lightGray, gray, darkGray + +-} + +import Basics exposing (..) + + +{-| Representation of colors. +-} +type Color + = RGBA Int Int Int Float + | HSLA Float Float Float Float + + +{-| Create RGB colors with an alpha component for transparency. +The alpha component is specified with numbers between 0 and 1. -} +rgba : Int -> Int -> Int -> Float -> Color +rgba = + RGBA + + +{-| Create RGB colors from numbers between 0 and 255 inclusive. -} +rgb : Int -> Int -> Int -> Color +rgb r g b = + RGBA r g b 1 + + +{-| Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV) +with an alpha component for transparency. +-} +hsla : Float -> Float -> Float -> Float -> Color +hsla hue saturation lightness alpha = + HSLA (hue - turns (toFloat (floor (hue / (2*pi))))) saturation lightness alpha + + +{-| Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV). This gives +you access to colors more like a color wheel, where all hues are arranged in a +circle that you specify with standard Elm angles (radians). + + red = hsl (degrees 0) 1 0.5 + green = hsl (degrees 120) 1 0.5 + blue = hsl (degrees 240) 1 0.5 + + pastelRed = hsl (degrees 0) 0.7 0.7 + +To cycle through all colors, just cycle through degrees. The saturation level +is how vibrant the color is, like a dial between grey and bright colors. The +lightness level is a dial between white and black. +-} +hsl : Float -> Float -> Float -> Color +hsl hue saturation lightness = + hsla hue saturation lightness 1 + + +{-| Produce a gray based on the input. 0 is white, 1 is black. +-} +grayscale : Float -> Color +grayscale p = + HSLA 0 0 (1-p) 1 + + +{-| Produce a gray based on the input. 0 is white, 1 is black. +-} +greyscale : Float -> Color +greyscale p = + HSLA 0 0 (1-p) 1 + + +{-| Produce a “complementary color”. The two colors will +accent each other. This is the same as rotating the hue by 180°. +-} +complement : Color -> Color +complement color = + case color of + HSLA h s l a -> + hsla (h + degrees 180) s l a + + RGBA r g b a -> + let + (h,s,l) = rgbToHsl r g b + in + hsla (h + degrees 180) s l a + + +{-| Extract the components of a color in the HSL format. +-} +toHsl : Color -> { hue:Float, saturation:Float, lightness:Float, alpha:Float } +toHsl color = + case color of + HSLA h s l a -> + { hue=h, saturation=s, lightness=l, alpha=a } + + RGBA r g b a -> + let + (h,s,l) = rgbToHsl r g b + in + { hue=h, saturation=s, lightness=l, alpha=a } + + +{-| Extract the components of a color in the RGB format. +-} +toRgb : Color -> { red:Int, green:Int, blue:Int, alpha:Float } +toRgb color = + case color of + RGBA r g b a -> + { red = r, green = g, blue = b, alpha = a } + + HSLA h s l a -> + let + (r,g,b) = hslToRgb h s l + in + { red = round (255 * r) + , green = round (255 * g) + , blue = round (255 * b) + , alpha = a + } + + +fmod : Float -> Int -> Float +fmod f n = + let + integer = floor f + in + toFloat (integer % n) + f - toFloat integer + + +rgbToHsl : Int -> Int -> Int -> (Float,Float,Float) +rgbToHsl red green blue = + let + r = toFloat red / 255 + g = toFloat green / 255 + b = toFloat blue / 255 + + cMax = max (max r g) b + cMin = min (min r g) b + + c = cMax - cMin + + hue = + degrees 60 * + if cMax == r then + fmod ((g - b) / c) 6 + else if cMax == g then + ((b - r) / c) + 2 + else {- cMax == b -} + ((r - g) / c) + 4 + + lightness = + (cMax + cMin) / 2 + + saturation = + if lightness == 0 then + 0 + else + c / (1 - abs (2 * lightness - 1)) + in + (hue, saturation, lightness) + + +hslToRgb : Float -> Float -> Float -> (Float,Float,Float) +hslToRgb hue saturation lightness = + let + chroma = (1 - abs (2 * lightness - 1)) * saturation + normHue = hue / degrees 60 + + x = chroma * (1 - abs (fmod normHue 2 - 1)) + + (r,g,b) = + if normHue < 0 then (0, 0, 0) + else if normHue < 1 then (chroma, x, 0) + else if normHue < 2 then (x, chroma, 0) + else if normHue < 3 then (0, chroma, x) + else if normHue < 4 then (0, x, chroma) + else if normHue < 5 then (x, 0, chroma) + else if normHue < 6 then (chroma, 0, x) + else (0, 0, 0) + + m = lightness - chroma / 2 + in + (r + m, g + m, b + m) + + +--toV3 : Color -> V3 + +--toV4 : Color -> V4 + +{-| Abstract representation of a color gradient. +-} +type Gradient + = Linear (Float,Float) (Float,Float) (List (Float,Color)) + | Radial (Float,Float) Float (Float,Float) Float (List (Float,Color)) + + +{-| Create a linear gradient. Takes a start and end point and then a series of +“color stops” that indicate how to interpolate between the start and +end points. See [this example](http://elm-lang.org/examples/linear-gradient) for a +more visual explanation. +-} +linear : (Float, Float) -> (Float, Float) -> List (Float,Color) -> Gradient +linear = + Linear + + +{-| Create a radial gradient. First takes a start point and inner radius. Then +takes an end point and outer radius. It then takes a series of “color +stops” that indicate how to interpolate between the inner and outer +circles. See [this example](http://elm-lang.org/examples/radial-gradient) for a +more visual explanation. +-} +radial : (Float,Float) -> Float -> (Float,Float) -> Float -> List (Float,Color) -> Gradient +radial = + Radial + + +-- BUILT-IN COLORS + +{-|-} +lightRed : Color +lightRed = + RGBA 239 41 41 1 + + +{-|-} +red : Color +red = + RGBA 204 0 0 1 + + +{-|-} +darkRed : Color +darkRed = + RGBA 164 0 0 1 + + +{-|-} +lightOrange : Color +lightOrange = + RGBA 252 175 62 1 + + +{-|-} +orange : Color +orange = + RGBA 245 121 0 1 + + +{-|-} +darkOrange : Color +darkOrange = + RGBA 206 92 0 1 + + +{-|-} +lightYellow : Color +lightYellow = + RGBA 255 233 79 1 + + +{-|-} +yellow : Color +yellow = + RGBA 237 212 0 1 + + +{-|-} +darkYellow : Color +darkYellow = + RGBA 196 160 0 1 + + +{-|-} +lightGreen : Color +lightGreen = + RGBA 138 226 52 1 + + +{-|-} +green : Color +green = + RGBA 115 210 22 1 + + +{-|-} +darkGreen : Color +darkGreen = + RGBA 78 154 6 1 + + +{-|-} +lightBlue : Color +lightBlue = + RGBA 114 159 207 1 + + +{-|-} +blue : Color +blue = + RGBA 52 101 164 1 + + +{-|-} +darkBlue : Color +darkBlue = + RGBA 32 74 135 1 + + +{-|-} +lightPurple : Color +lightPurple = + RGBA 173 127 168 1 + + +{-|-} +purple : Color +purple = + RGBA 117 80 123 1 + + +{-|-} +darkPurple : Color +darkPurple = + RGBA 92 53 102 1 + + +{-|-} +lightBrown : Color +lightBrown = + RGBA 233 185 110 1 + + +{-|-} +brown : Color +brown = + RGBA 193 125 17 1 + + +{-|-} +darkBrown : Color +darkBrown = + RGBA 143 89 2 1 + + +{-|-} +black : Color +black = + RGBA 0 0 0 1 + + +{-|-} +white : Color +white = + RGBA 255 255 255 1 + + +{-|-} +lightGrey : Color +lightGrey = + RGBA 238 238 236 1 + + +{-|-} +grey : Color +grey = + RGBA 211 215 207 1 + + +{-|-} +darkGrey : Color +darkGrey = + RGBA 186 189 182 1 + + +{-|-} +lightGray : Color +lightGray = + RGBA 238 238 236 1 + + +{-|-} +gray : Color +gray = + RGBA 211 215 207 1 + + +{-|-} +darkGray : Color +darkGray = + RGBA 186 189 182 1 + + +{-|-} +lightCharcoal : Color +lightCharcoal = + RGBA 136 138 133 1 + + +{-|-} +charcoal : Color +charcoal = + RGBA 85 87 83 1 + + +{-|-} +darkCharcoal : Color +darkCharcoal = + RGBA 46 52 54 1 diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm new file mode 100644 index 0000000..0d62982 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm @@ -0,0 +1,150 @@ +module Date exposing + ( Date, fromString, toTime, fromTime + , year, month, Month(..) + , day, dayOfWeek, Day(..) + , hour, minute, second, millisecond + , now + ) + +{-| Library for working with dates. Email the mailing list if you encounter +issues with internationalization or locale formatting. + +# Dates +@docs Date, now + +# Conversions +@docs fromString, toTime, fromTime + +# Extractions +@docs year, month, Month, day, dayOfWeek, Day, hour, minute, second, millisecond + +-} + +import Native.Date +import Task exposing (Task) +import Time exposing (Time) +import Result exposing (Result) + + + +-- DATES + + +{-| Representation of a date. +-} +type Date = Date + + +{-| Get the `Date` at the moment when this task is run. +-} +now : Task x Date +now = + Task.map fromTime Time.now + + + +-- CONVERSIONS AND EXTRACTIONS + + +{-| Represents the days of the week. +-} +type Day = Mon | Tue | Wed | Thu | Fri | Sat | Sun + + +{-| Represents the month of the year. +-} +type Month + = Jan | Feb | Mar | Apr + | May | Jun | Jul | Aug + | Sep | Oct | Nov | Dec + + +{-| Attempt to read a date from a string. +-} +fromString : String -> Result String Date +fromString = + Native.Date.fromString + + +{-| Convert a `Date` to a time in milliseconds. + +A time is the number of milliseconds since +[the Unix epoch](http://en.wikipedia.org/wiki/Unix_time). +-} +toTime : Date -> Time +toTime = + Native.Date.toTime + + +{-| Convert a time in milliseconds into a `Date`. + +A time is the number of milliseconds since +[the Unix epoch](http://en.wikipedia.org/wiki/Unix_time). +-} +fromTime : Time -> Date +fromTime = + Native.Date.fromTime + + +{-| Extract the year of a given date. Given the date 23 June 1990 at 11:45AM +this returns the integer `1990`. +-} +year : Date -> Int +year = + Native.Date.year + + +{-| Extract the month of a given date. Given the date 23 June 1990 at 11:45AM +this returns the month `Jun` as defined below. +-} +month : Date -> Month +month = + Native.Date.month + + +{-| Extract the day of a given date. Given the date 23 June 1990 at 11:45AM +this returns the integer `23`. +-} +day : Date -> Int +day = + Native.Date.day + + +{-| Extract the day of the week for a given date. Given the date 23 June +1990 at 11:45AM this returns the day `Sat` as defined below. +-} +dayOfWeek : Date -> Day +dayOfWeek = + Native.Date.dayOfWeek + + +{-| Extract the hour of a given date. Given the date 23 June 1990 at 11:45AM +this returns the integer `11`. +-} +hour : Date -> Int +hour = + Native.Date.hour + + +{-| Extract the minute of a given date. Given the date 23 June 1990 at 11:45AM +this returns the integer `45`. +-} +minute : Date -> Int +minute = + Native.Date.minute + + +{-| Extract the second of a given date. Given the date 23 June 1990 at 11:45AM +this returns the integer `0`. +-} +second : Date -> Int +second = + Native.Date.second + + +{-| Extract the millisecond of a given date. Given the date 23 June 1990 at 11:45:30.123AM +this returns the integer `123`. +-} +millisecond : Date -> Int +millisecond = + Native.Date.millisecond diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm new file mode 100644 index 0000000..49668f5 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm @@ -0,0 +1,62 @@ +module Debug exposing + ( log + , crash + ) + +{-| This library is for investigating bugs or performance problems. It should +*not* be used in production code. + +# Debugging +@docs log, crash +-} + +import Native.Debug + + +{-| Log a tagged value on the developer console, and then return the value. + + 1 + log "number" 1 -- equals 2, logs "number: 1" + length (log "start" []) -- equals 0, logs "start: []" + +Notice that `log` is not a pure function! It should *only* be used for +investigating bugs or performance problems. +-} +log : String -> a -> a +log = + Native.Debug.log + + +{-| Crash the program with an error message. This is an uncatchable error, +intended for code that is soon-to-be-implemented. For example, if you are +working with a large ADT and have partially completed a case expression, it may +make sense to do this: + + type Entity = Ship | Fish | Captain | Seagull + + drawEntity entity = + case entity of + Ship -> + ... + + Fish -> + ... + + _ -> + Debug.crash "TODO" + +The Elm compiler recognizes each `Debug.crash` and when you run into it at +runtime, the error will point to the corresponding module name and line number. +For `case` expressions that ends with a wildcard pattern and a crash, it will +also show the value that snuck through. In our example, that'd be `Captain` or +`Seagull`. + +**Use this if** you want to do some testing while you are partway through +writing a function. + +**Do not use this if** you want to do some typical try-catch exception handling. +Use the [`Maybe`](Maybe) or [`Result`](Result) libraries instead. +-} +crash : String -> a +crash = + Native.Debug.crash + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm new file mode 100644 index 0000000..3c706fc --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm @@ -0,0 +1,661 @@ +module Dict exposing + ( Dict + , empty, singleton, insert, update + , isEmpty, get, remove, member, size + , filter + , partition + , foldl, foldr, map + , union, intersect, diff, merge + , keys, values + , toList, fromList + ) + +{-| A dictionary mapping unique keys to values. The keys can be any comparable +type. This includes `Int`, `Float`, `Time`, `Char`, `String`, and tuples or +lists of comparable types. + +Insert, remove, and query operations all take *O(log n)* time. + +# Dictionaries +@docs Dict + +# Build +@docs empty, singleton, insert, update, remove + +# Query +@docs isEmpty, member, get, size + +# Lists +@docs keys, values, toList, fromList + +# Transform +@docs map, foldl, foldr, filter, partition + +# Combine +@docs union, intersect, diff, merge + +-} + + +import Basics exposing (..) +import Maybe exposing (..) +import List exposing (..) +import Native.Debug +import String + + + +-- DICTIONARIES + + +-- BBlack and NBlack should only be used during the deletion +-- algorithm. Any other occurrence is a bug and should fail an assert. +type NColor + = Red + | Black + | BBlack -- Double Black, counts as 2 blacks for the invariant + | NBlack -- Negative Black, counts as -1 blacks for the invariant + + +type LeafColor + = LBlack + | LBBlack -- Double Black, counts as 2 + + +{-| A dictionary of keys and values. So a `(Dict String User)` is a dictionary +that lets you look up a `String` (such as user names) and find the associated +`User`. +-} +type Dict k v + = RBNode_elm_builtin NColor k v (Dict k v) (Dict k v) + | RBEmpty_elm_builtin LeafColor + + +{-| Create an empty dictionary. -} +empty : Dict k v +empty = + RBEmpty_elm_builtin LBlack + + +maxWithDefault : k -> v -> Dict k v -> (k, v) +maxWithDefault k v r = + case r of + RBEmpty_elm_builtin _ -> + (k, v) + + RBNode_elm_builtin _ kr vr _ rr -> + maxWithDefault kr vr rr + + +{-| Get the value associated with a key. If the key is not found, return +`Nothing`. This is useful when you are not sure if a key will be in the +dictionary. + + animals = fromList [ ("Tom", Cat), ("Jerry", Mouse) ] + + get "Tom" animals == Just Cat + get "Jerry" animals == Just Mouse + get "Spike" animals == Nothing + +-} +get : comparable -> Dict comparable v -> Maybe v +get targetKey dict = + case dict of + RBEmpty_elm_builtin _ -> + Nothing + + RBNode_elm_builtin _ key value left right -> + case compare targetKey key of + LT -> + get targetKey left + + EQ -> + Just value + + GT -> + get targetKey right + + +{-| Determine if a key is in a dictionary. -} +member : comparable -> Dict comparable v -> Bool +member key dict = + case get key dict of + Just _ -> + True + + Nothing -> + False + + +{-| Determine the number of key-value pairs in the dictionary. -} +size : Dict k v -> Int +size dict = + sizeHelp 0 dict + + +sizeHelp : Int -> Dict k v -> Int +sizeHelp n dict = + case dict of + RBEmpty_elm_builtin _ -> + n + + RBNode_elm_builtin _ _ _ left right -> + sizeHelp (sizeHelp (n+1) right) left + + +{-| Determine if a dictionary is empty. + + isEmpty empty == True +-} +isEmpty : Dict k v -> Bool +isEmpty dict = + dict == empty + + +{- The actual pattern match here is somewhat lax. If it is given invalid input, +it will do the wrong thing. The expected behavior is: + + red node => black node + black node => same + bblack node => xxx + nblack node => xxx + + black leaf => same + bblack leaf => xxx +-} +ensureBlackRoot : Dict k v -> Dict k v +ensureBlackRoot dict = + case dict of + RBNode_elm_builtin Red key value left right -> + RBNode_elm_builtin Black key value left right + + _ -> + dict + + +{-| Insert a key-value pair into a dictionary. Replaces value when there is +a collision. -} +insert : comparable -> v -> Dict comparable v -> Dict comparable v +insert key value dict = + update key (always (Just value)) dict + + +{-| Remove a key-value pair from a dictionary. If the key is not found, +no changes are made. -} +remove : comparable -> Dict comparable v -> Dict comparable v +remove key dict = + update key (always Nothing) dict + + +type Flag = Insert | Remove | Same + + +{-| Update the value of a dictionary for a specific key with a given function. -} +update : comparable -> (Maybe v -> Maybe v) -> Dict comparable v -> Dict comparable v +update k alter dict = + let + up dict = + case dict of + -- expecting only black nodes, never double black nodes here + RBEmpty_elm_builtin _ -> + case alter Nothing of + Nothing -> + (Same, empty) + + Just v -> + (Insert, RBNode_elm_builtin Red k v empty empty) + + RBNode_elm_builtin clr key value left right -> + case compare k key of + EQ -> + case alter (Just value) of + Nothing -> + (Remove, rem clr left right) + + Just newValue -> + (Same, RBNode_elm_builtin clr key newValue left right) + + LT -> + let (flag, newLeft) = up left in + case flag of + Same -> + (Same, RBNode_elm_builtin clr key value newLeft right) + + Insert -> + (Insert, balance clr key value newLeft right) + + Remove -> + (Remove, bubble clr key value newLeft right) + + GT -> + let (flag, newRight) = up right in + case flag of + Same -> + (Same, RBNode_elm_builtin clr key value left newRight) + + Insert -> + (Insert, balance clr key value left newRight) + + Remove -> + (Remove, bubble clr key value left newRight) + + (flag, updatedDict) = + up dict + in + case flag of + Same -> + updatedDict + + Insert -> + ensureBlackRoot updatedDict + + Remove -> + blacken updatedDict + + +{-| Create a dictionary with one key-value pair. -} +singleton : comparable -> v -> Dict comparable v +singleton key value = + insert key value empty + + + +-- HELPERS + + +isBBlack : Dict k v -> Bool +isBBlack dict = + case dict of + RBNode_elm_builtin BBlack _ _ _ _ -> + True + + RBEmpty_elm_builtin LBBlack -> + True + + _ -> + False + + +moreBlack : NColor -> NColor +moreBlack color = + case color of + Black -> + BBlack + + Red -> + Black + + NBlack -> + Red + + BBlack -> + Native.Debug.crash "Can't make a double black node more black!" + + +lessBlack : NColor -> NColor +lessBlack color = + case color of + BBlack -> + Black + + Black -> + Red + + Red -> + NBlack + + NBlack -> + Native.Debug.crash "Can't make a negative black node less black!" + + +{- The actual pattern match here is somewhat lax. If it is given invalid input, +it will do the wrong thing. The expected behavior is: + + node => less black node + + bblack leaf => black leaf + black leaf => xxx +-} +lessBlackTree : Dict k v -> Dict k v +lessBlackTree dict = + case dict of + RBNode_elm_builtin c k v l r -> + RBNode_elm_builtin (lessBlack c) k v l r + + RBEmpty_elm_builtin _ -> + RBEmpty_elm_builtin LBlack + + +reportRemBug : String -> NColor -> String -> String -> a +reportRemBug msg c lgot rgot = + Native.Debug.crash <| + String.concat + [ "Internal red-black tree invariant violated, expected " + , msg, " and got ", toString c, "/", lgot, "/", rgot + , "\nPlease report this bug to " + ] + + +-- Remove the top node from the tree, may leave behind BBlacks +rem : NColor -> Dict k v -> Dict k v -> Dict k v +rem color left right = + case (left, right) of + (RBEmpty_elm_builtin _, RBEmpty_elm_builtin _) -> + case color of + Red -> + RBEmpty_elm_builtin LBlack + + Black -> + RBEmpty_elm_builtin LBBlack + + _ -> + Native.Debug.crash "cannot have bblack or nblack nodes at this point" + + (RBEmpty_elm_builtin cl, RBNode_elm_builtin cr k v l r) -> + case (color, cl, cr) of + (Black, LBlack, Red) -> + RBNode_elm_builtin Black k v l r + + _ -> + reportRemBug "Black/LBlack/Red" color (toString cl) (toString cr) + + (RBNode_elm_builtin cl k v l r, RBEmpty_elm_builtin cr) -> + case (color, cl, cr) of + (Black, Red, LBlack) -> + RBNode_elm_builtin Black k v l r + + _ -> + reportRemBug "Black/Red/LBlack" color (toString cl) (toString cr) + + -- l and r are both RBNodes + (RBNode_elm_builtin cl kl vl ll rl, RBNode_elm_builtin _ _ _ _ _) -> + let + (k, v) = + maxWithDefault kl vl rl + + newLeft = + removeMax cl kl vl ll rl + in + bubble color k v newLeft right + + +-- Kills a BBlack or moves it upward, may leave behind NBlack +bubble : NColor -> k -> v -> Dict k v -> Dict k v -> Dict k v +bubble c k v l r = + if isBBlack l || isBBlack r then + balance (moreBlack c) k v (lessBlackTree l) (lessBlackTree r) + + else + RBNode_elm_builtin c k v l r + + +-- Removes rightmost node, may leave root as BBlack +removeMax : NColor -> k -> v -> Dict k v -> Dict k v -> Dict k v +removeMax c k v l r = + case r of + RBEmpty_elm_builtin _ -> + rem c l r + + RBNode_elm_builtin cr kr vr lr rr -> + bubble c k v l (removeMax cr kr vr lr rr) + + +-- generalized tree balancing act +balance : NColor -> k -> v -> Dict k v -> Dict k v -> Dict k v +balance c k v l r = + let + tree = + RBNode_elm_builtin c k v l r + in + if blackish tree then + balanceHelp tree + + else + tree + + +blackish : Dict k v -> Bool +blackish t = + case t of + RBNode_elm_builtin c _ _ _ _ -> + c == Black || c == BBlack + + RBEmpty_elm_builtin _ -> + True + + +balanceHelp : Dict k v -> Dict k v +balanceHelp tree = + case tree of + -- double red: left, left + RBNode_elm_builtin col zk zv (RBNode_elm_builtin Red yk yv (RBNode_elm_builtin Red xk xv a b) c) d -> + balancedTree col xk xv yk yv zk zv a b c d + + -- double red: left, right + RBNode_elm_builtin col zk zv (RBNode_elm_builtin Red xk xv a (RBNode_elm_builtin Red yk yv b c)) d -> + balancedTree col xk xv yk yv zk zv a b c d + + -- double red: right, left + RBNode_elm_builtin col xk xv a (RBNode_elm_builtin Red zk zv (RBNode_elm_builtin Red yk yv b c) d) -> + balancedTree col xk xv yk yv zk zv a b c d + + -- double red: right, right + RBNode_elm_builtin col xk xv a (RBNode_elm_builtin Red yk yv b (RBNode_elm_builtin Red zk zv c d)) -> + balancedTree col xk xv yk yv zk zv a b c d + + -- handle double blacks + RBNode_elm_builtin BBlack xk xv a (RBNode_elm_builtin NBlack zk zv (RBNode_elm_builtin Black yk yv b c) (RBNode_elm_builtin Black _ _ _ _ as d)) -> + RBNode_elm_builtin Black yk yv (RBNode_elm_builtin Black xk xv a b) (balance Black zk zv c (redden d)) + + RBNode_elm_builtin BBlack zk zv (RBNode_elm_builtin NBlack xk xv (RBNode_elm_builtin Black _ _ _ _ as a) (RBNode_elm_builtin Black yk yv b c)) d -> + RBNode_elm_builtin Black yk yv (balance Black xk xv (redden a) b) (RBNode_elm_builtin Black zk zv c d) + + _ -> + tree + + +balancedTree : NColor -> k -> v -> k -> v -> k -> v -> Dict k v -> Dict k v -> Dict k v -> Dict k v -> Dict k v +balancedTree col xk xv yk yv zk zv a b c d = + RBNode_elm_builtin + (lessBlack col) + yk + yv + (RBNode_elm_builtin Black xk xv a b) + (RBNode_elm_builtin Black zk zv c d) + + +-- make the top node black +blacken : Dict k v -> Dict k v +blacken t = + case t of + RBEmpty_elm_builtin _ -> + RBEmpty_elm_builtin LBlack + + RBNode_elm_builtin _ k v l r -> + RBNode_elm_builtin Black k v l r + + +-- make the top node red +redden : Dict k v -> Dict k v +redden t = + case t of + RBEmpty_elm_builtin _ -> + Native.Debug.crash "can't make a Leaf red" + + RBNode_elm_builtin _ k v l r -> + RBNode_elm_builtin Red k v l r + + + +-- COMBINE + + +{-| Combine two dictionaries. If there is a collision, preference is given +to the first dictionary. +-} +union : Dict comparable v -> Dict comparable v -> Dict comparable v +union t1 t2 = + foldl insert t2 t1 + + +{-| Keep a key-value pair when its key appears in the second dictionary. +Preference is given to values in the first dictionary. +-} +intersect : Dict comparable v -> Dict comparable v -> Dict comparable v +intersect t1 t2 = + filter (\k _ -> member k t2) t1 + + +{-| Keep a key-value pair when its key does not appear in the second dictionary. +-} +diff : Dict comparable v -> Dict comparable v -> Dict comparable v +diff t1 t2 = + foldl (\k v t -> remove k t) t1 t2 + + +{-| The most general way of combining two dictionaries. You provide three +accumulators for when a given key appears: + + 1. Only in the left dictionary. + 2. In both dictionaries. + 3. Only in the right dictionary. + +You then traverse all the keys from lowest to highest, building up whatever +you want. +-} +merge + : (comparable -> a -> result -> result) + -> (comparable -> a -> b -> result -> result) + -> (comparable -> b -> result -> result) + -> Dict comparable a + -> Dict comparable b + -> result + -> result +merge leftStep bothStep rightStep leftDict rightDict initialResult = + let + stepState rKey rValue (list, result) = + case list of + [] -> + (list, rightStep rKey rValue result) + + (lKey, lValue) :: rest -> + if lKey < rKey then + stepState rKey rValue (rest, leftStep lKey lValue result) + + else if lKey > rKey then + (list, rightStep rKey rValue result) + + else + (rest, bothStep lKey lValue rValue result) + + (leftovers, intermediateResult) = + foldl stepState (toList leftDict, initialResult) rightDict + in + List.foldl (\(k,v) result -> leftStep k v result) intermediateResult leftovers + + + +-- TRANSFORM + + +{-| Apply a function to all values in a dictionary. +-} +map : (comparable -> a -> b) -> Dict comparable a -> Dict comparable b +map f dict = + case dict of + RBEmpty_elm_builtin _ -> + RBEmpty_elm_builtin LBlack + + RBNode_elm_builtin clr key value left right -> + RBNode_elm_builtin clr key (f key value) (map f left) (map f right) + + +{-| Fold over the key-value pairs in a dictionary, in order from lowest +key to highest key. +-} +foldl : (comparable -> v -> b -> b) -> b -> Dict comparable v -> b +foldl f acc dict = + case dict of + RBEmpty_elm_builtin _ -> + acc + + RBNode_elm_builtin _ key value left right -> + foldl f (f key value (foldl f acc left)) right + + +{-| Fold over the key-value pairs in a dictionary, in order from highest +key to lowest key. +-} +foldr : (comparable -> v -> b -> b) -> b -> Dict comparable v -> b +foldr f acc t = + case t of + RBEmpty_elm_builtin _ -> + acc + + RBNode_elm_builtin _ key value left right -> + foldr f (f key value (foldr f acc right)) left + + +{-| Keep a key-value pair when it satisfies a predicate. -} +filter : (comparable -> v -> Bool) -> Dict comparable v -> Dict comparable v +filter predicate dictionary = + let + add key value dict = + if predicate key value then + insert key value dict + + else + dict + in + foldl add empty dictionary + + +{-| Partition a dictionary according to a predicate. The first dictionary +contains all key-value pairs which satisfy the predicate, and the second +contains the rest. +-} +partition : (comparable -> v -> Bool) -> Dict comparable v -> (Dict comparable v, Dict comparable v) +partition predicate dict = + let + add key value (t1, t2) = + if predicate key value then + (insert key value t1, t2) + + else + (t1, insert key value t2) + in + foldl add (empty, empty) dict + + + +-- LISTS + + +{-| Get all of the keys in a dictionary, sorted from lowest to highest. + + keys (fromList [(0,"Alice"),(1,"Bob")]) == [0,1] +-} +keys : Dict comparable v -> List comparable +keys dict = + foldr (\key value keyList -> key :: keyList) [] dict + + +{-| Get all of the values in a dictionary, in the order of their keys. + + values (fromList [(0,"Alice"),(1,"Bob")]) == ["Alice", "Bob"] +-} +values : Dict comparable v -> List v +values dict = + foldr (\key value valueList -> value :: valueList) [] dict + + +{-| Convert a dictionary into an association list of key-value pairs, sorted by keys. -} +toList : Dict comparable v -> List (comparable,v) +toList dict = + foldr (\key value list -> (key,value) :: list) [] dict + + +{-| Convert an association list into a dictionary. -} +fromList : List (comparable,v) -> Dict comparable v +fromList assocs = + List.foldl (\(key,value) dict -> insert key value dict) empty assocs diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm new file mode 100644 index 0000000..342e3d0 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm @@ -0,0 +1,520 @@ +module Json.Decode exposing + ( Decoder, string, bool, int, float + , nullable, list, array, dict, keyValuePairs + , field, at, index + , maybe, oneOf + , decodeString, decodeValue, Value + , map, map2, map3, map4, map5, map6, map7, map8 + , lazy, value, null, succeed, fail, andThen + ) + +{-| Turn JSON values into Elm values. Definitely check out this [intro to +JSON decoders][guide] to get a feel for how this library works! + +[guide]: https://guide.elm-lang.org/interop/json.html + +# Primitives +@docs Decoder, string, bool, int, float + +# Data Structures +@docs nullable, list, array, dict, keyValuePairs + +# Object Primitives +@docs field, at, index + +# Inconsistent Structure +@docs maybe, oneOf + +# Run Decoders +@docs decodeString, decodeValue, Value + +# Mapping + +**Note:** If you run out of map functions, take a look at [elm-decode-pipeline][pipe] +which makes it easier to handle large objects, but produces lower quality type +errors. + +[pipe]: http://package.elm-lang.org/packages/NoRedInk/elm-decode-pipeline/latest + +@docs map, map2, map3, map4, map5, map6, map7, map8 + +# Fancy Decoding +@docs lazy, value, null, succeed, fail, andThen +-} + + +import Array exposing (Array) +import Dict exposing (Dict) +import Json.Encode as JsEncode +import List +import Maybe exposing (Maybe(..)) +import Result exposing (Result(..)) +import Native.Json + + + +-- PRIMITIVES + + +{-| A value that knows how to decode JSON values. +-} +type Decoder a = Decoder + + +{-| Decode a JSON string into an Elm `String`. + + decodeString string "true" == Err ... + decodeString string "42" == Err ... + decodeString string "3.14" == Err ... + decodeString string "\"hello\"" == Ok "hello" + decodeString string "{ \"hello\": 42 }" == Err ... +-} +string : Decoder String +string = + Native.Json.decodePrimitive "string" + + +{-| Decode a JSON boolean into an Elm `Bool`. + + decodeString bool "true" == Ok True + decodeString bool "42" == Err ... + decodeString bool "3.14" == Err ... + decodeString bool "\"hello\"" == Err ... + decodeString bool "{ \"hello\": 42 }" == Err ... +-} +bool : Decoder Bool +bool = + Native.Json.decodePrimitive "bool" + + +{-| Decode a JSON number into an Elm `Int`. + + decodeString int "true" == Err ... + decodeString int "42" == Ok 42 + decodeString int "3.14" == Err ... + decodeString int "\"hello\"" == Err ... + decodeString int "{ \"hello\": 42 }" == Err ... +-} +int : Decoder Int +int = + Native.Json.decodePrimitive "int" + + +{-| Decode a JSON number into an Elm `Float`. + + decodeString float "true" == Err .. + decodeString float "42" == Ok 42 + decodeString float "3.14" == Ok 3.14 + decodeString float "\"hello\"" == Err ... + decodeString float "{ \"hello\": 42 }" == Err ... +-} +float : Decoder Float +float = + Native.Json.decodePrimitive "float" + + + +-- DATA STRUCTURES + + +{-| Decode a nullable JSON value into an Elm value. + + decodeString (nullable int) "13" == Ok (Just 13) + decodeString (nullable int) "42" == Ok (Just 42) + decodeString (nullable int) "null" == Ok Nothing + decodeString (nullable int) "true" == Err .. +-} +nullable : Decoder a -> Decoder (Maybe a) +nullable decoder = + oneOf + [ null Nothing + , map Just decoder + ] + + +{-| Decode a JSON array into an Elm `List`. + + decodeString (list int) "[1,2,3]" == Ok [1,2,3] + decodeString (list bool) "[true,false]" == Ok [True,False] +-} +list : Decoder a -> Decoder (List a) +list decoder = + Native.Json.decodeContainer "list" decoder + + +{-| Decode a JSON array into an Elm `Array`. + + decodeString (array int) "[1,2,3]" == Ok (Array.fromList [1,2,3]) + decodeString (array bool) "[true,false]" == Ok (Array.fromList [True,False]) +-} +array : Decoder a -> Decoder (Array a) +array decoder = + Native.Json.decodeContainer "array" decoder + + +{-| Decode a JSON object into an Elm `Dict`. + + decodeString (dict int) "{ \"alice\": 42, \"bob\": 99 }" + == Dict.fromList [("alice", 42), ("bob", 99)] +-} +dict : Decoder a -> Decoder (Dict String a) +dict decoder = + map Dict.fromList (keyValuePairs decoder) + + +{-| Decode a JSON object into an Elm `List` of pairs. + + decodeString (keyValuePairs int) "{ \"alice\": 42, \"bob\": 99 }" + == [("alice", 42), ("bob", 99)] +-} +keyValuePairs : Decoder a -> Decoder (List (String, a)) +keyValuePairs = + Native.Json.decodeKeyValuePairs + + + +-- OBJECT PRIMITIVES + + +{-| Decode a JSON object, requiring a particular field. + + decodeString (field "x" int) "{ \"x\": 3 }" == Ok 3 + decodeString (field "x" int) "{ \"x\": 3, \"y\": 4 }" == Ok 3 + decodeString (field "x" int) "{ \"x\": true }" == Err ... + decodeString (field "x" int) "{ \"y\": 4 }" == Err ... + + decodeString (field "name" string) "{ \"name\": \"tom\" }" == Ok "tom" + +The object *can* have other fields. Lots of them! The only thing this decoder +cares about is if `x` is present and that the value there is an `Int`. + +Check out [`map2`](#map2) to see how to decode multiple fields! +-} +field : String -> Decoder a -> Decoder a +field = + Native.Json.decodeField + + +{-| Decode a nested JSON object, requiring certain fields. + + json = """{ "person": { "name": "tom", "age": 42 } }""" + + decodeString (at ["person", "name"] string) json == Ok "tom" + decodeString (at ["person", "age" ] int ) json == Ok "42 + +This is really just a shorthand for saying things like: + + field "person" (field "name" string) == at ["person","name"] string +-} +at : List String -> Decoder a -> Decoder a +at fields decoder = + List.foldr field decoder fields + + +{-| Decode a JSON array, requiring a particular index. + + json = """[ "alice", "bob", "chuck" ]""" + + decodeString (index 0 string) json == Ok "alice" + decodeString (index 1 string) json == Ok "bob" + decodeString (index 2 string) json == Ok "chuck" + decodeString (index 3 string) json == Err ... +-} +index : Int -> Decoder a -> Decoder a +index = + Native.Json.decodeIndex + + + +-- WEIRD STRUCTURE + + +{-| Helpful for dealing with optional fields. Here are a few slightly different +examples: + + json = """{ "name": "tom", "age": 42 }""" + + decodeString (maybe (field "age" int )) json == Ok (Just 42) + decodeString (maybe (field "name" int )) json == Ok Nothing + decodeString (maybe (field "height" float)) json == Ok Nothing + + decodeString (field "age" (maybe int )) json == Ok (Just 42) + decodeString (field "name" (maybe int )) json == Ok Nothing + decodeString (field "height" (maybe float)) json == Err ... + +Notice the last example! It is saying we *must* have a field named `height` and +the content *may* be a float. There is no `height` field, so the decoder fails. + +Point is, `maybe` will make exactly what it contains conditional. For optional +fields, this means you probably want it *outside* a use of `field` or `at`. +-} +maybe : Decoder a -> Decoder (Maybe a) +maybe decoder = + Native.Json.decodeContainer "maybe" decoder + + +{-| Try a bunch of different decoders. This can be useful if the JSON may come +in a couple different formats. For example, say you want to read an array of +numbers, but some of them are `null`. + + import String + + badInt : Decoder Int + badInt = + oneOf [ int, null 0 ] + + -- decodeString (list badInt) "[1,2,null,4]" == Ok [1,2,0,4] + +Why would someone generate JSON like this? Questions like this are not good +for your health. The point is that you can use `oneOf` to handle situations +like this! + +You could also use `oneOf` to help version your data. Try the latest format, +then a few older ones that you still support. You could use `andThen` to be +even more particular if you wanted. +-} +oneOf : List (Decoder a) -> Decoder a +oneOf = + Native.Json.oneOf + + + +-- MAPPING + + +{-| Transform a decoder. Maybe you just want to know the length of a string: + + import String + + stringLength : Decoder Int + stringLength = + map String.length string + +It is often helpful to use `map` with `oneOf`, like when defining `nullable`: + + nullable : Decoder a -> Decoder (Maybe a) + nullable decoder = + oneOf + [ null Nothing + , map Just decoder + ] +-} +map : (a -> value) -> Decoder a -> Decoder value +map = + Native.Json.map1 + + +{-| Try two decoders and then combine the result. We can use this to decode +objects with many fields: + + type alias Point = { x : Float, y : Float } + + point : Decoder Point + point = + map2 Point + (field "x" float) + (field "y" float) + + -- decodeString point """{ "x": 3, "y": 4 }""" == Ok { x = 3, y = 4 } + +It tries each individual decoder and puts the result together with the `Point` +constructor. +-} +map2 : (a -> b -> value) -> Decoder a -> Decoder b -> Decoder value +map2 = + Native.Json.map2 + + +{-| Try three decoders and then combine the result. We can use this to decode +objects with many fields: + + type alias Person = { name : String, age : Int, height : Float } + + person : Decoder Person + person = + map3 Person + (at ["name"] string) + (at ["info","age"] int) + (at ["info","height"] float) + + -- json = """{ "name": "tom", "info": { "age": 42, "height": 1.8 } }""" + -- decodeString point json == Ok { name = "tom", age = 42, height = 1.8 } + +Like `map2` it tries each decoder in order and then give the results to the +`Person` constructor. That can be any function though! +-} +map3 : (a -> b -> c -> value) -> Decoder a -> Decoder b -> Decoder c -> Decoder value +map3 = + Native.Json.map3 + + +{-|-} +map4 : (a -> b -> c -> d -> value) -> Decoder a -> Decoder b -> Decoder c -> Decoder d -> Decoder value +map4 = + Native.Json.map4 + + +{-|-} +map5 : (a -> b -> c -> d -> e -> value) -> Decoder a -> Decoder b -> Decoder c -> Decoder d -> Decoder e -> Decoder value +map5 = + Native.Json.map5 + + +{-|-} +map6 : (a -> b -> c -> d -> e -> f -> value) -> Decoder a -> Decoder b -> Decoder c -> Decoder d -> Decoder e -> Decoder f -> Decoder value +map6 = + Native.Json.map6 + + +{-|-} +map7 : (a -> b -> c -> d -> e -> f -> g -> value) -> Decoder a -> Decoder b -> Decoder c -> Decoder d -> Decoder e -> Decoder f -> Decoder g -> Decoder value +map7 = + Native.Json.map7 + + +{-|-} +map8 : (a -> b -> c -> d -> e -> f -> g -> h -> value) -> Decoder a -> Decoder b -> Decoder c -> Decoder d -> Decoder e -> Decoder f -> Decoder g -> Decoder h -> Decoder value +map8 = + Native.Json.map8 + + + +-- RUN DECODERS + + +{-| Parse the given string into a JSON value and then run the `Decoder` on it. +This will fail if the string is not well-formed JSON or if the `Decoder` +fails for some reason. + + decodeString int "4" == Ok 4 + decodeString int "1 + 2" == Err ... +-} +decodeString : Decoder a -> String -> Result String a +decodeString = + Native.Json.runOnString + + +{-| Run a `Decoder` on some JSON `Value`. You can send these JSON values +through ports, so that is probably the main time you would use this function. +-} +decodeValue : Decoder a -> Value -> Result String a +decodeValue = + Native.Json.run + + +{-| A JSON value. +-} +type alias Value = JsEncode.Value + + + +-- FANCY PRIMITIVES + + +{-| Ignore the JSON and produce a certain Elm value. + + decodeString (succeed 42) "true" == Ok 42 + decodeString (succeed 42) "[1,2,3]" == Ok 42 + decodeString (succeed 42) "hello" == Err ... -- this is not a valid JSON string + +This is handy when used with `oneOf` or `andThen`. +-} +succeed : a -> Decoder a +succeed = + Native.Json.succeed + + +{-| Ignore the JSON and make the decoder fail. This is handy when used with +`oneOf` or `andThen` where you want to give a custom error message in some +case. + +See the [`andThen`](#andThen) docs for an example. +-} +fail : String -> Decoder a +fail = + Native.Json.fail + + +{-| Create decoders that depend on previous results. If you are creating +versioned data, you might do something like this: + + info : Decoder Info + info = + field "version" int + |> andThen infoHelp + + infoHelp : Int -> Decoder Info + infoHelp version = + case version of + 4 -> + infoDecoder4 + + 3 -> + infoDecoder3 + + _ -> + fail <| + "Trying to decode info, but version " + ++ toString version ++ " is not supported." + + -- infoDecoder4 : Decoder Info + -- infoDecoder3 : Decoder Info +-} +andThen : (a -> Decoder b) -> Decoder a -> Decoder b +andThen = + Native.Json.andThen + + +{-| Sometimes you have JSON with recursive structure, like nested comments. +You can use `lazy` to make sure your decoder unrolls lazily. + + type alias Comment = + { message : String + , responses : Responses + } + + type Responses = Responses (List Comment) + + comment : Decoder Comment + comment = + object Comment + |> required "message" string + |> required "responses" (map Responses (list (lazy (\_ -> comment)))) + +If we had said `list comment` instead, we would start expanding the value +infinitely. What is a `comment`? It is a decoder for objects where the +`responses` field contains comments. What is a `comment` though? Etc. + +By using `list (lazy (\_ -> comment))` we make sure the decoder only expands +to be as deep as the JSON we are given. You can read more about recursive data +structures [here][]. + +[here]: https://github.com/elm-lang/elm-compiler/blob/master/hints/recursive-alias.md +-} +lazy : (() -> Decoder a) -> Decoder a +lazy thunk = + andThen thunk (succeed ()) + + +{-| Do not do anything with a JSON value, just bring it into Elm as a `Value`. +This can be useful if you have particularly crazy data that you would like to +deal with later. Or if you are going to send it out a port and do not care +about its structure. +-} +value : Decoder Value +value = + Native.Json.decodePrimitive "value" + + +{-| Decode a `null` value into some Elm value. + + decodeString (null False) "null" == Ok False + decodeString (null 42) "null" == Ok 42 + decodeString (null 42) "42" == Err .. + decodeString (null 42) "false" == Err .. + +So if you ever see a `null`, this will return whatever value you specified. +-} +null : a -> Decoder a +null = + Native.Json.decodeNull diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm new file mode 100644 index 0000000..29e6fc9 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm @@ -0,0 +1,102 @@ +module Json.Encode exposing + ( Value + , encode + , string, int, float, bool, null + , list, array + , object + ) + +{-| Library for turning Elm values into Json values. + +# Encoding +@docs encode, Value + +# Primitives +@docs string, int, float, bool, null + +# Arrays +@docs list, array + +# Objects +@docs object +-} + +import Array exposing (Array) +import Native.Json + + +{-| Represents a JavaScript value. +-} +type Value = Value + + +{-| Convert a `Value` into a prettified string. The first argument specifies +the amount of indentation in the resulting string. + + person = + object + [ ("name", string "Tom") + , ("age", int 42) + ] + + compact = encode 0 person + -- {"name":"Tom","age":42} + + readable = encode 4 person + -- { + -- "name": "Tom", + -- "age": 42 + -- } +-} +encode : Int -> Value -> String +encode = + Native.Json.encode + + +{-|-} +string : String -> Value +string = + Native.Json.identity + + +{-|-} +int : Int -> Value +int = + Native.Json.identity + + +{-| Encode a Float. `Infinity` and `NaN` are encoded as `null`. +-} +float : Float -> Value +float = + Native.Json.identity + + +{-|-} +bool : Bool -> Value +bool = + Native.Json.identity + + +{-|-} +null : Value +null = + Native.Json.encodeNull + + +{-|-} +object : List (String, Value) -> Value +object = + Native.Json.encodeObject + + +{-|-} +array : Array Value -> Value +array = + Native.Json.encodeArray + + +{-|-} +list : List Value -> Value +list = + Native.Json.encodeList diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm new file mode 100644 index 0000000..e3c8fb9 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm @@ -0,0 +1,603 @@ +module List exposing + ( isEmpty, length, reverse, member + , head, tail, filter, take, drop + , repeat, range, (::), append, concat, intersperse + , partition, unzip + , map, map2, map3, map4, map5 + , filterMap, concatMap, indexedMap + , foldr, foldl + , sum, product, maximum, minimum, all, any, scanl + , sort, sortBy, sortWith + ) + +{-| A library for manipulating lists of values. Every value in a +list must have the same type. + +# Basics +@docs isEmpty, length, reverse, member + +# Sub-lists +@docs head, tail, filter, take, drop + +# Putting Lists Together +@docs repeat, range, (::), append, concat, intersperse + +# Taking Lists Apart +@docs partition, unzip + +# Mapping +@docs map, map2, map3, map4, map5 + +If you can think of a legitimate use of `mapN` where `N` is 6 or more, please +let us know on [the list](https://groups.google.com/forum/#!forum/elm-discuss). +The current sentiment is that it is already quite error prone once you get to +4 and possibly should be approached another way. + +# Special Maps +@docs filterMap, concatMap, indexedMap + +# Folding +@docs foldr, foldl + +# Special Folds +@docs sum, product, maximum, minimum, all, any, scanl + +# Sorting +@docs sort, sortBy, sortWith + +-} + +import Basics exposing (..) +import Maybe +import Maybe exposing ( Maybe(Just,Nothing) ) +import Native.List + + +{-| Add an element to the front of a list. Pronounced *cons*. + + 1 :: [2,3] == [1,2,3] + 1 :: [] == [1] +-} +(::) : a -> List a -> List a +(::) = + Native.List.cons + + +infixr 5 :: + + +{-| Extract the first element of a list. + + head [1,2,3] == Just 1 + head [] == Nothing +-} +head : List a -> Maybe a +head list = + case list of + x :: xs -> + Just x + + [] -> + Nothing + + +{-| Extract the rest of the list. + + tail [1,2,3] == Just [2,3] + tail [] == Nothing +-} +tail : List a -> Maybe (List a) +tail list = + case list of + x :: xs -> + Just xs + + [] -> + Nothing + + +{-| Determine if a list is empty. + + isEmpty [] == True +-} +isEmpty : List a -> Bool +isEmpty xs = + case xs of + [] -> + True + + _ -> + False + + +{-| Figure out whether a list contains a value. + + member 9 [1,2,3,4] == False + member 4 [1,2,3,4] == True +-} +member : a -> List a -> Bool +member x xs = + any (\a -> a == x) xs + + +{-| Apply a function to every element of a list. + + map sqrt [1,4,9] == [1,2,3] + + map not [True,False,True] == [False,True,False] +-} +map : (a -> b) -> List a -> List b +map f xs = + foldr (\x acc -> f x :: acc) [] xs + + +{-| Same as `map` but the function is also applied to the index of each +element (starting at zero). + + indexedMap (,) ["Tom","Sue","Bob"] == [ (0,"Tom"), (1,"Sue"), (2,"Bob") ] +-} +indexedMap : (Int -> a -> b) -> List a -> List b +indexedMap f xs = + map2 f (range 0 (length xs - 1)) xs + + +{-| Reduce a list from the left. + + foldl (::) [] [1,2,3] == [3,2,1] +-} +foldl : (a -> b -> b) -> b -> List a -> b +foldl func acc list = + case list of + [] -> + acc + + x :: xs -> + foldl func (func x acc) xs + + +{-| Reduce a list from the right. + + foldr (+) 0 [1,2,3] == 6 +-} +foldr : (a -> b -> b) -> b -> List a -> b +foldr = + Native.List.foldr + + +{-| Reduce a list from the left, building up all of the intermediate results into a list. + + scanl (+) 0 [1,2,3,4] == [0,1,3,6,10] +-} +scanl : (a -> b -> b) -> b -> List a -> List b +scanl f b xs = + let + scan1 x accAcc = + case accAcc of + acc :: _ -> + f x acc :: accAcc + + [] -> + [] -- impossible + in + reverse (foldl scan1 [b] xs) + + +{-| Keep only elements that satisfy the predicate. + + filter isEven [1..6] == [2,4,6] +-} +filter : (a -> Bool) -> List a -> List a +filter pred xs = + let + conditionalCons front back = + if pred front then + front :: back + + else + back + in + foldr conditionalCons [] xs + + +{-| Apply a function that may succeed to all values in the list, but only keep +the successes. + + onlyTeens = + filterMap isTeen [3, 15, 12, 18, 24] == [15, 18] + + isTeen : Int -> Maybe Int + isTeen n = + if 13 <= n && n <= 19 then + Just n + + else + Nothing +-} +filterMap : (a -> Maybe b) -> List a -> List b +filterMap f xs = + foldr (maybeCons f) [] xs + + +maybeCons : (a -> Maybe b) -> a -> List b -> List b +maybeCons f mx xs = + case f mx of + Just x -> + x :: xs + + Nothing -> + xs + + +{-| Determine the length of a list. + + length [1,2,3] == 3 +-} +length : List a -> Int +length xs = + foldl (\_ i -> i + 1) 0 xs + + +{-| Reverse a list. + + reverse [1..4] == [4,3,2,1] +-} +reverse : List a -> List a +reverse list = + foldl (::) [] list + + +{-| Determine if all elements satisfy the predicate. + + all isEven [2,4] == True + all isEven [2,3] == False + all isEven [] == True +-} +all : (a -> Bool) -> List a -> Bool +all isOkay list = + not (any (not << isOkay) list) + + +{-| Determine if any elements satisfy the predicate. + + any isEven [2,3] == True + any isEven [1,3] == False + any isEven [] == False +-} +any : (a -> Bool) -> List a -> Bool +any isOkay list = + case list of + [] -> + False + + x :: xs -> + -- note: (isOkay x || any isOkay xs) would not get TCO + if isOkay x then + True + + else + any isOkay xs + + +{-| Put two lists together. + + append [1,1,2] [3,5,8] == [1,1,2,3,5,8] + append ['a','b'] ['c'] == ['a','b','c'] + +You can also use [the `(++)` operator](Basics#++) to append lists. +-} +append : List a -> List a -> List a +append xs ys = + case ys of + [] -> + xs + + _ -> + foldr (::) ys xs + + +{-| Concatenate a bunch of lists into a single list: + + concat [[1,2],[3],[4,5]] == [1,2,3,4,5] +-} +concat : List (List a) -> List a +concat lists = + foldr append [] lists + + +{-| Map a given function onto a list and flatten the resulting lists. + + concatMap f xs == concat (map f xs) +-} +concatMap : (a -> List b) -> List a -> List b +concatMap f list = + concat (map f list) + + +{-| Get the sum of the list elements. + + sum [1..4] == 10 +-} +sum : List number -> number +sum numbers = + foldl (+) 0 numbers + + +{-| Get the product of the list elements. + + product [1..4] == 24 +-} +product : List number -> number +product numbers = + foldl (*) 1 numbers + + +{-| Find the maximum element in a non-empty list. + + maximum [1,4,2] == Just 4 + maximum [] == Nothing +-} +maximum : List comparable -> Maybe comparable +maximum list = + case list of + x :: xs -> + Just (foldl max x xs) + + _ -> + Nothing + + +{-| Find the minimum element in a non-empty list. + + minimum [3,2,1] == Just 1 + minimum [] == Nothing +-} +minimum : List comparable -> Maybe comparable +minimum list = + case list of + x :: xs -> + Just (foldl min x xs) + + _ -> + Nothing + + +{-| Partition a list based on a predicate. The first list contains all values +that satisfy the predicate, and the second list contains all the value that do +not. + + partition (\x -> x < 3) [0..5] == ([0,1,2], [3,4,5]) + partition isEven [0..5] == ([0,2,4], [1,3,5]) +-} +partition : (a -> Bool) -> List a -> (List a, List a) +partition pred list = + let + step x (trues, falses) = + if pred x then + (x :: trues, falses) + + else + (trues, x :: falses) + in + foldr step ([],[]) list + + +{-| Combine two lists, combining them with the given function. +If one list is longer, the extra elements are dropped. + + map2 (+) [1,2,3] [1,2,3,4] == [2,4,6] + + map2 (,) [1,2,3] ['a','b'] == [ (1,'a'), (2,'b') ] + + pairs : List a -> List b -> List (a,b) + pairs lefts rights = + map2 (,) lefts rights +-} +map2 : (a -> b -> result) -> List a -> List b -> List result +map2 = + Native.List.map2 + + +{-|-} +map3 : (a -> b -> c -> result) -> List a -> List b -> List c -> List result +map3 = + Native.List.map3 + + +{-|-} +map4 : (a -> b -> c -> d -> result) -> List a -> List b -> List c -> List d -> List result +map4 = + Native.List.map4 + + +{-|-} +map5 : (a -> b -> c -> d -> e -> result) -> List a -> List b -> List c -> List d -> List e -> List result +map5 = + Native.List.map5 + + +{-| Decompose a list of tuples into a tuple of lists. + + unzip [(0, True), (17, False), (1337, True)] == ([0,17,1337], [True,False,True]) +-} +unzip : List (a,b) -> (List a, List b) +unzip pairs = + let + step (x,y) (xs,ys) = + (x :: xs, y :: ys) + in + foldr step ([], []) pairs + + +{-| Places the given value between all members of the given list. + + intersperse "on" ["turtles","turtles","turtles"] == ["turtles","on","turtles","on","turtles"] +-} +intersperse : a -> List a -> List a +intersperse sep xs = + case xs of + [] -> + [] + + hd :: tl -> + let + step x rest = + sep :: x :: rest + + spersed = + foldr step [] tl + in + hd :: spersed + + +{-| Take the first *n* members of a list. + + take 2 [1,2,3,4] == [1,2] +-} +take : Int -> List a -> List a +take n list = + takeFast 0 n list + + +takeFast : Int -> Int -> List a -> List a +takeFast ctr n list = + if n <= 0 then + [] + else + case ( n, list ) of + ( _, [] ) -> + list + + ( 1, x :: _ ) -> + [ x ] + + ( 2, x :: y :: _ ) -> + [ x, y ] + + ( 3, x :: y :: z :: _ ) -> + [ x, y, z ] + + ( _, x :: y :: z :: w :: tl ) -> + if ctr > 1000 then + x :: y :: z :: w :: takeTailRec (n - 4) tl + else + x :: y :: z :: w :: takeFast (ctr + 1) (n - 4) tl + + _ -> + list + +takeTailRec : Int -> List a -> List a +takeTailRec n list = + reverse (takeReverse n list []) + + +takeReverse : Int -> List a -> List a -> List a +takeReverse n list taken = + if n <= 0 then + taken + else + case list of + [] -> + taken + + x :: xs -> + takeReverse (n - 1) xs (x :: taken) + + +{-| Drop the first *n* members of a list. + + drop 2 [1,2,3,4] == [3,4] +-} +drop : Int -> List a -> List a +drop n list = + if n <= 0 then + list + + else + case list of + [] -> + list + + x :: xs -> + drop (n-1) xs + + +{-| Create a list with *n* copies of a value: + + repeat 3 (0,0) == [(0,0),(0,0),(0,0)] +-} +repeat : Int -> a -> List a +repeat n value = + repeatHelp [] n value + + +repeatHelp : List a -> Int -> a -> List a +repeatHelp result n value = + if n <= 0 then + result + + else + repeatHelp (value :: result) (n-1) value + + +{-| Create a list of numbers, every element increasing by one. +You give the lowest and highest number that should be in the list. + + range 3 6 == [3, 4, 5, 6] + range 3 3 == [3] + range 6 3 == [] +-} +range : Int -> Int -> List Int +range lo hi = + rangeHelp lo hi [] + + +rangeHelp : Int -> Int -> List Int -> List Int +rangeHelp lo hi list = + if lo <= hi then + rangeHelp lo (hi - 1) (hi :: list) + + else + list + + +{-| Sort values from lowest to highest + + sort [3,1,5] == [1,3,5] +-} +sort : List comparable -> List comparable +sort xs = + sortBy identity xs + + +{-| Sort values by a derived property. + + alice = { name="Alice", height=1.62 } + bob = { name="Bob" , height=1.85 } + chuck = { name="Chuck", height=1.76 } + + sortBy .name [chuck,alice,bob] == [alice,bob,chuck] + sortBy .height [chuck,alice,bob] == [alice,chuck,bob] + + sortBy String.length ["mouse","cat"] == ["cat","mouse"] +-} +sortBy : (a -> comparable) -> List a -> List a +sortBy = + Native.List.sortBy + + +{-| Sort values with a custom comparison function. + + sortWith flippedComparison [1..5] == [5,4,3,2,1] + + flippedComparison a b = + case compare a b of + LT -> GT + EQ -> EQ + GT -> LT + +This is also the most general sort function, allowing you +to define any other: `sort == sortWith compare` +-} +sortWith : (a -> a -> Order) -> List a -> List a +sortWith = + Native.List.sortWith diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm new file mode 100644 index 0000000..337a246 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm @@ -0,0 +1,157 @@ +module Maybe exposing + ( Maybe(Just,Nothing) + , andThen + , map, map2, map3, map4, map5 + , withDefault + ) + +{-| This library fills a bunch of important niches in Elm. A `Maybe` can help +you with optional arguments, error handling, and records with optional fields. + +# Definition +@docs Maybe + +# Common Helpers +@docs withDefault, map, map2, map3, map4, map5 + +# Chaining Maybes +@docs andThen +-} + +{-| Represent values that may or may not exist. It can be useful if you have a +record field that is only filled in sometimes. Or if a function takes a value +sometimes, but does not absolutely need it. + + -- A person, but maybe we do not know their age. + type alias Person = + { name : String + , age : Maybe Int + } + + tom = { name = "Tom", age = Just 42 } + sue = { name = "Sue", age = Nothing } +-} +type Maybe a + = Just a + | Nothing + + +{-| Provide a default value, turning an optional value into a normal +value. This comes in handy when paired with functions like +[`Dict.get`](Dict#get) which gives back a `Maybe`. + + withDefault 100 (Just 42) -- 42 + withDefault 100 Nothing -- 100 + + withDefault "unknown" (Dict.get "Tom" Dict.empty) -- "unknown" + +-} +withDefault : a -> Maybe a -> a +withDefault default maybe = + case maybe of + Just value -> value + Nothing -> default + + +{-| Transform a `Maybe` value with a given function: + + map sqrt (Just 9) == Just 3 + map sqrt Nothing == Nothing +-} +map : (a -> b) -> Maybe a -> Maybe b +map f maybe = + case maybe of + Just value -> Just (f value) + Nothing -> Nothing + + +{-| Apply a function if all the arguments are `Just` a value. + + map2 (+) (Just 3) (Just 4) == Just 7 + map2 (+) (Just 3) Nothing == Nothing + map2 (+) Nothing (Just 4) == Nothing +-} +map2 : (a -> b -> value) -> Maybe a -> Maybe b -> Maybe value +map2 func ma mb = + case (ma,mb) of + (Just a, Just b) -> + Just (func a b) + + _ -> + Nothing + + +{-|-} +map3 : (a -> b -> c -> value) -> Maybe a -> Maybe b -> Maybe c -> Maybe value +map3 func ma mb mc = + case (ma,mb,mc) of + (Just a, Just b, Just c) -> + Just (func a b c) + + _ -> + Nothing + + +{-|-} +map4 : (a -> b -> c -> d -> value) -> Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe value +map4 func ma mb mc md = + case (ma,mb,mc,md) of + (Just a, Just b, Just c, Just d) -> + Just (func a b c d) + + _ -> + Nothing + + +{-|-} +map5 : (a -> b -> c -> d -> e -> value) -> Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe e -> Maybe value +map5 func ma mb mc md me = + case (ma,mb,mc,md,me) of + (Just a, Just b, Just c, Just d, Just e) -> + Just (func a b c d e) + + _ -> + Nothing + + +{-| Chain together many computations that may fail. It is helpful to see its +definition: + + andThen : (a -> Maybe b) -> Maybe a -> Maybe b + andThen callback maybe = + case maybe of + Just value -> + callback value + + Nothing -> + Nothing + +This means we only continue with the callback if things are going well. For +example, say you need to use (`head : List Int -> Maybe Int`) to get the +first month from a `List` and then make sure it is between 1 and 12: + + toValidMonth : Int -> Maybe Int + toValidMonth month = + if month >= 1 && month <= 12 then + Just month + else + Nothing + + getFirstMonth : List Int -> Maybe Int + getFirstMonth months = + head months + |> andThen toValidMonth + +If `head` fails and results in `Nothing` (because the `List` was `empty`), +this entire chain of operations will short-circuit and result in `Nothing`. +If `toValidMonth` results in `Nothing`, again the chain of computations +will result in `Nothing`. +-} +andThen : (a -> Maybe b) -> Maybe a -> Maybe b +andThen callback maybeValue = + case maybeValue of + Just value -> + callback value + + Nothing -> + Nothing diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js new file mode 100644 index 0000000..7ddd42d --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js @@ -0,0 +1,967 @@ +//import Native.List // + +var _elm_lang$core$Native_Array = function() { + +// A RRB-Tree has two distinct data types. +// Leaf -> "height" is always 0 +// "table" is an array of elements +// Node -> "height" is always greater than 0 +// "table" is an array of child nodes +// "lengths" is an array of accumulated lengths of the child nodes + +// M is the maximal table size. 32 seems fast. E is the allowed increase +// of search steps when concatting to find an index. Lower values will +// decrease balancing, but will increase search steps. +var M = 32; +var E = 2; + +// An empty array. +var empty = { + ctor: '_Array', + height: 0, + table: [] +}; + + +function get(i, array) +{ + if (i < 0 || i >= length(array)) + { + throw new Error( + 'Index ' + i + ' is out of range. Check the length of ' + + 'your array first or use getMaybe or getWithDefault.'); + } + return unsafeGet(i, array); +} + + +function unsafeGet(i, array) +{ + for (var x = array.height; x > 0; x--) + { + var slot = i >> (x * 5); + while (array.lengths[slot] <= i) + { + slot++; + } + if (slot > 0) + { + i -= array.lengths[slot - 1]; + } + array = array.table[slot]; + } + return array.table[i]; +} + + +// Sets the value at the index i. Only the nodes leading to i will get +// copied and updated. +function set(i, item, array) +{ + if (i < 0 || length(array) <= i) + { + return array; + } + return unsafeSet(i, item, array); +} + + +function unsafeSet(i, item, array) +{ + array = nodeCopy(array); + + if (array.height === 0) + { + array.table[i] = item; + } + else + { + var slot = getSlot(i, array); + if (slot > 0) + { + i -= array.lengths[slot - 1]; + } + array.table[slot] = unsafeSet(i, item, array.table[slot]); + } + return array; +} + + +function initialize(len, f) +{ + if (len <= 0) + { + return empty; + } + var h = Math.floor( Math.log(len) / Math.log(M) ); + return initialize_(f, h, 0, len); +} + +function initialize_(f, h, from, to) +{ + if (h === 0) + { + var table = new Array((to - from) % (M + 1)); + for (var i = 0; i < table.length; i++) + { + table[i] = f(from + i); + } + return { + ctor: '_Array', + height: 0, + table: table + }; + } + + var step = Math.pow(M, h); + var table = new Array(Math.ceil((to - from) / step)); + var lengths = new Array(table.length); + for (var i = 0; i < table.length; i++) + { + table[i] = initialize_(f, h - 1, from + (i * step), Math.min(from + ((i + 1) * step), to)); + lengths[i] = length(table[i]) + (i > 0 ? lengths[i-1] : 0); + } + return { + ctor: '_Array', + height: h, + table: table, + lengths: lengths + }; +} + +function fromList(list) +{ + if (list.ctor === '[]') + { + return empty; + } + + // Allocate M sized blocks (table) and write list elements to it. + var table = new Array(M); + var nodes = []; + var i = 0; + + while (list.ctor !== '[]') + { + table[i] = list._0; + list = list._1; + i++; + + // table is full, so we can push a leaf containing it into the + // next node. + if (i === M) + { + var leaf = { + ctor: '_Array', + height: 0, + table: table + }; + fromListPush(leaf, nodes); + table = new Array(M); + i = 0; + } + } + + // Maybe there is something left on the table. + if (i > 0) + { + var leaf = { + ctor: '_Array', + height: 0, + table: table.splice(0, i) + }; + fromListPush(leaf, nodes); + } + + // Go through all of the nodes and eventually push them into higher nodes. + for (var h = 0; h < nodes.length - 1; h++) + { + if (nodes[h].table.length > 0) + { + fromListPush(nodes[h], nodes); + } + } + + var head = nodes[nodes.length - 1]; + if (head.height > 0 && head.table.length === 1) + { + return head.table[0]; + } + else + { + return head; + } +} + +// Push a node into a higher node as a child. +function fromListPush(toPush, nodes) +{ + var h = toPush.height; + + // Maybe the node on this height does not exist. + if (nodes.length === h) + { + var node = { + ctor: '_Array', + height: h + 1, + table: [], + lengths: [] + }; + nodes.push(node); + } + + nodes[h].table.push(toPush); + var len = length(toPush); + if (nodes[h].lengths.length > 0) + { + len += nodes[h].lengths[nodes[h].lengths.length - 1]; + } + nodes[h].lengths.push(len); + + if (nodes[h].table.length === M) + { + fromListPush(nodes[h], nodes); + nodes[h] = { + ctor: '_Array', + height: h + 1, + table: [], + lengths: [] + }; + } +} + +// Pushes an item via push_ to the bottom right of a tree. +function push(item, a) +{ + var pushed = push_(item, a); + if (pushed !== null) + { + return pushed; + } + + var newTree = create(item, a.height); + return siblise(a, newTree); +} + +// Recursively tries to push an item to the bottom-right most +// tree possible. If there is no space left for the item, +// null will be returned. +function push_(item, a) +{ + // Handle resursion stop at leaf level. + if (a.height === 0) + { + if (a.table.length < M) + { + var newA = { + ctor: '_Array', + height: 0, + table: a.table.slice() + }; + newA.table.push(item); + return newA; + } + else + { + return null; + } + } + + // Recursively push + var pushed = push_(item, botRight(a)); + + // There was space in the bottom right tree, so the slot will + // be updated. + if (pushed !== null) + { + var newA = nodeCopy(a); + newA.table[newA.table.length - 1] = pushed; + newA.lengths[newA.lengths.length - 1]++; + return newA; + } + + // When there was no space left, check if there is space left + // for a new slot with a tree which contains only the item + // at the bottom. + if (a.table.length < M) + { + var newSlot = create(item, a.height - 1); + var newA = nodeCopy(a); + newA.table.push(newSlot); + newA.lengths.push(newA.lengths[newA.lengths.length - 1] + length(newSlot)); + return newA; + } + else + { + return null; + } +} + +// Converts an array into a list of elements. +function toList(a) +{ + return toList_(_elm_lang$core$Native_List.Nil, a); +} + +function toList_(list, a) +{ + for (var i = a.table.length - 1; i >= 0; i--) + { + list = + a.height === 0 + ? _elm_lang$core$Native_List.Cons(a.table[i], list) + : toList_(list, a.table[i]); + } + return list; +} + +// Maps a function over the elements of an array. +function map(f, a) +{ + var newA = { + ctor: '_Array', + height: a.height, + table: new Array(a.table.length) + }; + if (a.height > 0) + { + newA.lengths = a.lengths; + } + for (var i = 0; i < a.table.length; i++) + { + newA.table[i] = + a.height === 0 + ? f(a.table[i]) + : map(f, a.table[i]); + } + return newA; +} + +// Maps a function over the elements with their index as first argument. +function indexedMap(f, a) +{ + return indexedMap_(f, a, 0); +} + +function indexedMap_(f, a, from) +{ + var newA = { + ctor: '_Array', + height: a.height, + table: new Array(a.table.length) + }; + if (a.height > 0) + { + newA.lengths = a.lengths; + } + for (var i = 0; i < a.table.length; i++) + { + newA.table[i] = + a.height === 0 + ? A2(f, from + i, a.table[i]) + : indexedMap_(f, a.table[i], i == 0 ? from : from + a.lengths[i - 1]); + } + return newA; +} + +function foldl(f, b, a) +{ + if (a.height === 0) + { + for (var i = 0; i < a.table.length; i++) + { + b = A2(f, a.table[i], b); + } + } + else + { + for (var i = 0; i < a.table.length; i++) + { + b = foldl(f, b, a.table[i]); + } + } + return b; +} + +function foldr(f, b, a) +{ + if (a.height === 0) + { + for (var i = a.table.length; i--; ) + { + b = A2(f, a.table[i], b); + } + } + else + { + for (var i = a.table.length; i--; ) + { + b = foldr(f, b, a.table[i]); + } + } + return b; +} + +// TODO: currently, it slices the right, then the left. This can be +// optimized. +function slice(from, to, a) +{ + if (from < 0) + { + from += length(a); + } + if (to < 0) + { + to += length(a); + } + return sliceLeft(from, sliceRight(to, a)); +} + +function sliceRight(to, a) +{ + if (to === length(a)) + { + return a; + } + + // Handle leaf level. + if (a.height === 0) + { + var newA = { ctor:'_Array', height:0 }; + newA.table = a.table.slice(0, to); + return newA; + } + + // Slice the right recursively. + var right = getSlot(to, a); + var sliced = sliceRight(to - (right > 0 ? a.lengths[right - 1] : 0), a.table[right]); + + // Maybe the a node is not even needed, as sliced contains the whole slice. + if (right === 0) + { + return sliced; + } + + // Create new node. + var newA = { + ctor: '_Array', + height: a.height, + table: a.table.slice(0, right), + lengths: a.lengths.slice(0, right) + }; + if (sliced.table.length > 0) + { + newA.table[right] = sliced; + newA.lengths[right] = length(sliced) + (right > 0 ? newA.lengths[right - 1] : 0); + } + return newA; +} + +function sliceLeft(from, a) +{ + if (from === 0) + { + return a; + } + + // Handle leaf level. + if (a.height === 0) + { + var newA = { ctor:'_Array', height:0 }; + newA.table = a.table.slice(from, a.table.length + 1); + return newA; + } + + // Slice the left recursively. + var left = getSlot(from, a); + var sliced = sliceLeft(from - (left > 0 ? a.lengths[left - 1] : 0), a.table[left]); + + // Maybe the a node is not even needed, as sliced contains the whole slice. + if (left === a.table.length - 1) + { + return sliced; + } + + // Create new node. + var newA = { + ctor: '_Array', + height: a.height, + table: a.table.slice(left, a.table.length + 1), + lengths: new Array(a.table.length - left) + }; + newA.table[0] = sliced; + var len = 0; + for (var i = 0; i < newA.table.length; i++) + { + len += length(newA.table[i]); + newA.lengths[i] = len; + } + + return newA; +} + +// Appends two trees. +function append(a,b) +{ + if (a.table.length === 0) + { + return b; + } + if (b.table.length === 0) + { + return a; + } + + var c = append_(a, b); + + // Check if both nodes can be crunshed together. + if (c[0].table.length + c[1].table.length <= M) + { + if (c[0].table.length === 0) + { + return c[1]; + } + if (c[1].table.length === 0) + { + return c[0]; + } + + // Adjust .table and .lengths + c[0].table = c[0].table.concat(c[1].table); + if (c[0].height > 0) + { + var len = length(c[0]); + for (var i = 0; i < c[1].lengths.length; i++) + { + c[1].lengths[i] += len; + } + c[0].lengths = c[0].lengths.concat(c[1].lengths); + } + + return c[0]; + } + + if (c[0].height > 0) + { + var toRemove = calcToRemove(a, b); + if (toRemove > E) + { + c = shuffle(c[0], c[1], toRemove); + } + } + + return siblise(c[0], c[1]); +} + +// Returns an array of two nodes; right and left. One node _may_ be empty. +function append_(a, b) +{ + if (a.height === 0 && b.height === 0) + { + return [a, b]; + } + + if (a.height !== 1 || b.height !== 1) + { + if (a.height === b.height) + { + a = nodeCopy(a); + b = nodeCopy(b); + var appended = append_(botRight(a), botLeft(b)); + + insertRight(a, appended[1]); + insertLeft(b, appended[0]); + } + else if (a.height > b.height) + { + a = nodeCopy(a); + var appended = append_(botRight(a), b); + + insertRight(a, appended[0]); + b = parentise(appended[1], appended[1].height + 1); + } + else + { + b = nodeCopy(b); + var appended = append_(a, botLeft(b)); + + var left = appended[0].table.length === 0 ? 0 : 1; + var right = left === 0 ? 1 : 0; + insertLeft(b, appended[left]); + a = parentise(appended[right], appended[right].height + 1); + } + } + + // Check if balancing is needed and return based on that. + if (a.table.length === 0 || b.table.length === 0) + { + return [a, b]; + } + + var toRemove = calcToRemove(a, b); + if (toRemove <= E) + { + return [a, b]; + } + return shuffle(a, b, toRemove); +} + +// Helperfunctions for append_. Replaces a child node at the side of the parent. +function insertRight(parent, node) +{ + var index = parent.table.length - 1; + parent.table[index] = node; + parent.lengths[index] = length(node); + parent.lengths[index] += index > 0 ? parent.lengths[index - 1] : 0; +} + +function insertLeft(parent, node) +{ + if (node.table.length > 0) + { + parent.table[0] = node; + parent.lengths[0] = length(node); + + var len = length(parent.table[0]); + for (var i = 1; i < parent.lengths.length; i++) + { + len += length(parent.table[i]); + parent.lengths[i] = len; + } + } + else + { + parent.table.shift(); + for (var i = 1; i < parent.lengths.length; i++) + { + parent.lengths[i] = parent.lengths[i] - parent.lengths[0]; + } + parent.lengths.shift(); + } +} + +// Returns the extra search steps for E. Refer to the paper. +function calcToRemove(a, b) +{ + var subLengths = 0; + for (var i = 0; i < a.table.length; i++) + { + subLengths += a.table[i].table.length; + } + for (var i = 0; i < b.table.length; i++) + { + subLengths += b.table[i].table.length; + } + + var toRemove = a.table.length + b.table.length; + return toRemove - (Math.floor((subLengths - 1) / M) + 1); +} + +// get2, set2 and saveSlot are helpers for accessing elements over two arrays. +function get2(a, b, index) +{ + return index < a.length + ? a[index] + : b[index - a.length]; +} + +function set2(a, b, index, value) +{ + if (index < a.length) + { + a[index] = value; + } + else + { + b[index - a.length] = value; + } +} + +function saveSlot(a, b, index, slot) +{ + set2(a.table, b.table, index, slot); + + var l = (index === 0 || index === a.lengths.length) + ? 0 + : get2(a.lengths, a.lengths, index - 1); + + set2(a.lengths, b.lengths, index, l + length(slot)); +} + +// Creates a node or leaf with a given length at their arrays for perfomance. +// Is only used by shuffle. +function createNode(h, length) +{ + if (length < 0) + { + length = 0; + } + var a = { + ctor: '_Array', + height: h, + table: new Array(length) + }; + if (h > 0) + { + a.lengths = new Array(length); + } + return a; +} + +// Returns an array of two balanced nodes. +function shuffle(a, b, toRemove) +{ + var newA = createNode(a.height, Math.min(M, a.table.length + b.table.length - toRemove)); + var newB = createNode(a.height, newA.table.length - (a.table.length + b.table.length - toRemove)); + + // Skip the slots with size M. More precise: copy the slot references + // to the new node + var read = 0; + while (get2(a.table, b.table, read).table.length % M === 0) + { + set2(newA.table, newB.table, read, get2(a.table, b.table, read)); + set2(newA.lengths, newB.lengths, read, get2(a.lengths, b.lengths, read)); + read++; + } + + // Pulling items from left to right, caching in a slot before writing + // it into the new nodes. + var write = read; + var slot = new createNode(a.height - 1, 0); + var from = 0; + + // If the current slot is still containing data, then there will be at + // least one more write, so we do not break this loop yet. + while (read - write - (slot.table.length > 0 ? 1 : 0) < toRemove) + { + // Find out the max possible items for copying. + var source = get2(a.table, b.table, read); + var to = Math.min(M - slot.table.length, source.table.length); + + // Copy and adjust size table. + slot.table = slot.table.concat(source.table.slice(from, to)); + if (slot.height > 0) + { + var len = slot.lengths.length; + for (var i = len; i < len + to - from; i++) + { + slot.lengths[i] = length(slot.table[i]); + slot.lengths[i] += (i > 0 ? slot.lengths[i - 1] : 0); + } + } + + from += to; + + // Only proceed to next slots[i] if the current one was + // fully copied. + if (source.table.length <= to) + { + read++; from = 0; + } + + // Only create a new slot if the current one is filled up. + if (slot.table.length === M) + { + saveSlot(newA, newB, write, slot); + slot = createNode(a.height - 1, 0); + write++; + } + } + + // Cleanup after the loop. Copy the last slot into the new nodes. + if (slot.table.length > 0) + { + saveSlot(newA, newB, write, slot); + write++; + } + + // Shift the untouched slots to the left + while (read < a.table.length + b.table.length ) + { + saveSlot(newA, newB, write, get2(a.table, b.table, read)); + read++; + write++; + } + + return [newA, newB]; +} + +// Navigation functions +function botRight(a) +{ + return a.table[a.table.length - 1]; +} +function botLeft(a) +{ + return a.table[0]; +} + +// Copies a node for updating. Note that you should not use this if +// only updating only one of "table" or "lengths" for performance reasons. +function nodeCopy(a) +{ + var newA = { + ctor: '_Array', + height: a.height, + table: a.table.slice() + }; + if (a.height > 0) + { + newA.lengths = a.lengths.slice(); + } + return newA; +} + +// Returns how many items are in the tree. +function length(array) +{ + if (array.height === 0) + { + return array.table.length; + } + else + { + return array.lengths[array.lengths.length - 1]; + } +} + +// Calculates in which slot of "table" the item probably is, then +// find the exact slot via forward searching in "lengths". Returns the index. +function getSlot(i, a) +{ + var slot = i >> (5 * a.height); + while (a.lengths[slot] <= i) + { + slot++; + } + return slot; +} + +// Recursively creates a tree with a given height containing +// only the given item. +function create(item, h) +{ + if (h === 0) + { + return { + ctor: '_Array', + height: 0, + table: [item] + }; + } + return { + ctor: '_Array', + height: h, + table: [create(item, h - 1)], + lengths: [1] + }; +} + +// Recursively creates a tree that contains the given tree. +function parentise(tree, h) +{ + if (h === tree.height) + { + return tree; + } + + return { + ctor: '_Array', + height: h, + table: [parentise(tree, h - 1)], + lengths: [length(tree)] + }; +} + +// Emphasizes blood brotherhood beneath two trees. +function siblise(a, b) +{ + return { + ctor: '_Array', + height: a.height + 1, + table: [a, b], + lengths: [length(a), length(a) + length(b)] + }; +} + +function toJSArray(a) +{ + var jsArray = new Array(length(a)); + toJSArray_(jsArray, 0, a); + return jsArray; +} + +function toJSArray_(jsArray, i, a) +{ + for (var t = 0; t < a.table.length; t++) + { + if (a.height === 0) + { + jsArray[i + t] = a.table[t]; + } + else + { + var inc = t === 0 ? 0 : a.lengths[t - 1]; + toJSArray_(jsArray, i + inc, a.table[t]); + } + } +} + +function fromJSArray(jsArray) +{ + if (jsArray.length === 0) + { + return empty; + } + var h = Math.floor(Math.log(jsArray.length) / Math.log(M)); + return fromJSArray_(jsArray, h, 0, jsArray.length); +} + +function fromJSArray_(jsArray, h, from, to) +{ + if (h === 0) + { + return { + ctor: '_Array', + height: 0, + table: jsArray.slice(from, to) + }; + } + + var step = Math.pow(M, h); + var table = new Array(Math.ceil((to - from) / step)); + var lengths = new Array(table.length); + for (var i = 0; i < table.length; i++) + { + table[i] = fromJSArray_(jsArray, h - 1, from + (i * step), Math.min(from + ((i + 1) * step), to)); + lengths[i] = length(table[i]) + (i > 0 ? lengths[i - 1] : 0); + } + return { + ctor: '_Array', + height: h, + table: table, + lengths: lengths + }; +} + +return { + empty: empty, + fromList: fromList, + toList: toList, + initialize: F2(initialize), + append: F2(append), + push: F2(push), + slice: F3(slice), + get: F2(get), + set: F3(set), + map: F2(map), + indexedMap: F2(indexedMap), + foldl: F3(foldl), + foldr: F3(foldr), + length: length, + + toJSArray: toJSArray, + fromJSArray: fromJSArray +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js new file mode 100644 index 0000000..1d97bf3 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js @@ -0,0 +1,141 @@ +//import Native.Utils // + +var _elm_lang$core$Native_Basics = function() { + +function div(a, b) +{ + return (a / b) | 0; +} +function rem(a, b) +{ + return a % b; +} +function mod(a, b) +{ + if (b === 0) + { + throw new Error('Cannot perform mod 0. Division by zero error.'); + } + var r = a % b; + var m = a === 0 ? 0 : (b > 0 ? (a >= 0 ? r : r + b) : -mod(-a, -b)); + + return m === b ? 0 : m; +} +function logBase(base, n) +{ + return Math.log(n) / Math.log(base); +} +function negate(n) +{ + return -n; +} +function abs(n) +{ + return n < 0 ? -n : n; +} + +function min(a, b) +{ + return _elm_lang$core$Native_Utils.cmp(a, b) < 0 ? a : b; +} +function max(a, b) +{ + return _elm_lang$core$Native_Utils.cmp(a, b) > 0 ? a : b; +} +function clamp(lo, hi, n) +{ + return _elm_lang$core$Native_Utils.cmp(n, lo) < 0 + ? lo + : _elm_lang$core$Native_Utils.cmp(n, hi) > 0 + ? hi + : n; +} + +var ord = ['LT', 'EQ', 'GT']; + +function compare(x, y) +{ + return { ctor: ord[_elm_lang$core$Native_Utils.cmp(x, y) + 1] }; +} + +function xor(a, b) +{ + return a !== b; +} +function not(b) +{ + return !b; +} +function isInfinite(n) +{ + return n === Infinity || n === -Infinity; +} + +function truncate(n) +{ + return n | 0; +} + +function degrees(d) +{ + return d * Math.PI / 180; +} +function turns(t) +{ + return 2 * Math.PI * t; +} +function fromPolar(point) +{ + var r = point._0; + var t = point._1; + return _elm_lang$core$Native_Utils.Tuple2(r * Math.cos(t), r * Math.sin(t)); +} +function toPolar(point) +{ + var x = point._0; + var y = point._1; + return _elm_lang$core$Native_Utils.Tuple2(Math.sqrt(x * x + y * y), Math.atan2(y, x)); +} + +return { + div: F2(div), + rem: F2(rem), + mod: F2(mod), + + pi: Math.PI, + e: Math.E, + cos: Math.cos, + sin: Math.sin, + tan: Math.tan, + acos: Math.acos, + asin: Math.asin, + atan: Math.atan, + atan2: F2(Math.atan2), + + degrees: degrees, + turns: turns, + fromPolar: fromPolar, + toPolar: toPolar, + + sqrt: Math.sqrt, + logBase: F2(logBase), + negate: negate, + abs: abs, + min: F2(min), + max: F2(max), + clamp: F3(clamp), + compare: F2(compare), + + xor: F2(xor), + not: not, + + truncate: truncate, + ceiling: Math.ceil, + floor: Math.floor, + round: Math.round, + toFloat: function(x) { return x; }, + isNaN: isNaN, + isInfinite: isInfinite +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js new file mode 100644 index 0000000..a597f82 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js @@ -0,0 +1,13 @@ +var _elm_lang$core$Native_Bitwise = function() { + +return { + and: F2(function and(a, b) { return a & b; }), + or: F2(function or(a, b) { return a | b; }), + xor: F2(function xor(a, b) { return a ^ b; }), + complement: function complement(a) { return ~a; }, + shiftLeftBy: F2(function(offset, a) { return a << offset; }), + shiftRightBy: F2(function(offset, a) { return a >> offset; }), + shiftRightZfBy: F2(function(offset, a) { return a >>> offset; }) +}; + +}(); diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js new file mode 100644 index 0000000..56c2957 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js @@ -0,0 +1,14 @@ +//import Native.Utils // + +var _elm_lang$core$Native_Char = function() { + +return { + fromCode: function(c) { return _elm_lang$core$Native_Utils.chr(String.fromCharCode(c)); }, + toCode: function(c) { return c.charCodeAt(0); }, + toUpper: function(c) { return _elm_lang$core$Native_Utils.chr(c.toUpperCase()); }, + toLower: function(c) { return _elm_lang$core$Native_Utils.chr(c.toLowerCase()); }, + toLocaleUpper: function(c) { return _elm_lang$core$Native_Utils.chr(c.toLocaleUpperCase()); }, + toLocaleLower: function(c) { return _elm_lang$core$Native_Utils.chr(c.toLocaleLowerCase()); } +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js new file mode 100644 index 0000000..cb64193 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js @@ -0,0 +1,33 @@ +//import Result // + +var _elm_lang$core$Native_Date = function() { + +function fromString(str) +{ + var date = new Date(str); + return isNaN(date.getTime()) + ? _elm_lang$core$Result$Err('Unable to parse \'' + str + '\' as a date. Dates must be in the ISO 8601 format.') + : _elm_lang$core$Result$Ok(date); +} + +var dayTable = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; +var monthTable = + ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', + 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + + +return { + fromString: fromString, + year: function(d) { return d.getFullYear(); }, + month: function(d) { return { ctor: monthTable[d.getMonth()] }; }, + day: function(d) { return d.getDate(); }, + hour: function(d) { return d.getHours(); }, + minute: function(d) { return d.getMinutes(); }, + second: function(d) { return d.getSeconds(); }, + millisecond: function(d) { return d.getMilliseconds(); }, + toTime: function(d) { return d.getTime(); }, + fromTime: function(t) { return new Date(t); }, + dayOfWeek: function(d) { return { ctor: dayTable[d.getDay()] }; } +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js new file mode 100644 index 0000000..15ce1dc --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js @@ -0,0 +1,30 @@ +//import Native.Utils // + +var _elm_lang$core$Native_Debug = function() { + +function log(tag, value) +{ + var msg = tag + ': ' + _elm_lang$core$Native_Utils.toString(value); + var process = process || {}; + if (process.stdout) + { + process.stdout.write(msg); + } + else + { + console.log(msg); + } + return value; +} + +function crash(message) +{ + throw new Error(message); +} + +return { + crash: crash, + log: F2(log) +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js new file mode 100644 index 0000000..b21d82a --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js @@ -0,0 +1,580 @@ +//import Maybe, Native.Array, Native.List, Native.Utils, Result // + +var _elm_lang$core$Native_Json = function() { + + +// CORE DECODERS + +function succeed(msg) +{ + return { + ctor: '', + tag: 'succeed', + msg: msg + }; +} + +function fail(msg) +{ + return { + ctor: '', + tag: 'fail', + msg: msg + }; +} + +function decodePrimitive(tag) +{ + return { + ctor: '', + tag: tag + }; +} + +function decodeContainer(tag, decoder) +{ + return { + ctor: '', + tag: tag, + decoder: decoder + }; +} + +function decodeNull(value) +{ + return { + ctor: '', + tag: 'null', + value: value + }; +} + +function decodeField(field, decoder) +{ + return { + ctor: '', + tag: 'field', + field: field, + decoder: decoder + }; +} + +function decodeIndex(index, decoder) +{ + return { + ctor: '', + tag: 'index', + index: index, + decoder: decoder + }; +} + +function decodeKeyValuePairs(decoder) +{ + return { + ctor: '', + tag: 'key-value', + decoder: decoder + }; +} + +function mapMany(f, decoders) +{ + return { + ctor: '', + tag: 'map-many', + func: f, + decoders: decoders + }; +} + +function andThen(callback, decoder) +{ + return { + ctor: '', + tag: 'andThen', + decoder: decoder, + callback: callback + }; +} + +function oneOf(decoders) +{ + return { + ctor: '', + tag: 'oneOf', + decoders: decoders + }; +} + + +// DECODING OBJECTS + +function map1(f, d1) +{ + return mapMany(f, [d1]); +} + +function map2(f, d1, d2) +{ + return mapMany(f, [d1, d2]); +} + +function map3(f, d1, d2, d3) +{ + return mapMany(f, [d1, d2, d3]); +} + +function map4(f, d1, d2, d3, d4) +{ + return mapMany(f, [d1, d2, d3, d4]); +} + +function map5(f, d1, d2, d3, d4, d5) +{ + return mapMany(f, [d1, d2, d3, d4, d5]); +} + +function map6(f, d1, d2, d3, d4, d5, d6) +{ + return mapMany(f, [d1, d2, d3, d4, d5, d6]); +} + +function map7(f, d1, d2, d3, d4, d5, d6, d7) +{ + return mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); +} + +function map8(f, d1, d2, d3, d4, d5, d6, d7, d8) +{ + return mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); +} + + +// DECODE HELPERS + +function ok(value) +{ + return { tag: 'ok', value: value }; +} + +function badPrimitive(type, value) +{ + return { tag: 'primitive', type: type, value: value }; +} + +function badIndex(index, nestedProblems) +{ + return { tag: 'index', index: index, rest: nestedProblems }; +} + +function badField(field, nestedProblems) +{ + return { tag: 'field', field: field, rest: nestedProblems }; +} + +function badIndex(index, nestedProblems) +{ + return { tag: 'index', index: index, rest: nestedProblems }; +} + +function badOneOf(problems) +{ + return { tag: 'oneOf', problems: problems }; +} + +function bad(msg) +{ + return { tag: 'fail', msg: msg }; +} + +function badToString(problem) +{ + var context = '_'; + while (problem) + { + switch (problem.tag) + { + case 'primitive': + return 'Expecting ' + problem.type + + (context === '_' ? '' : ' at ' + context) + + ' but instead got: ' + jsToString(problem.value); + + case 'index': + context += '[' + problem.index + ']'; + problem = problem.rest; + break; + + case 'field': + context += '.' + problem.field; + problem = problem.rest; + break; + + case 'index': + context += '[' + problem.index + ']'; + problem = problem.rest; + break; + + case 'oneOf': + var problems = problem.problems; + for (var i = 0; i < problems.length; i++) + { + problems[i] = badToString(problems[i]); + } + return 'I ran into the following problems' + + (context === '_' ? '' : ' at ' + context) + + ':\n\n' + problems.join('\n'); + + case 'fail': + return 'I ran into a `fail` decoder' + + (context === '_' ? '' : ' at ' + context) + + ': ' + problem.msg; + } + } +} + +function jsToString(value) +{ + return value === undefined + ? 'undefined' + : JSON.stringify(value); +} + + +// DECODE + +function runOnString(decoder, string) +{ + var json; + try + { + json = JSON.parse(string); + } + catch (e) + { + return _elm_lang$core$Result$Err('Given an invalid JSON: ' + e.message); + } + return run(decoder, json); +} + +function run(decoder, value) +{ + var result = runHelp(decoder, value); + return (result.tag === 'ok') + ? _elm_lang$core$Result$Ok(result.value) + : _elm_lang$core$Result$Err(badToString(result)); +} + +function runHelp(decoder, value) +{ + switch (decoder.tag) + { + case 'bool': + return (typeof value === 'boolean') + ? ok(value) + : badPrimitive('a Bool', value); + + case 'int': + if (typeof value !== 'number') { + return badPrimitive('an Int', value); + } + + if (-2147483647 < value && value < 2147483647 && (value | 0) === value) { + return ok(value); + } + + if (isFinite(value) && !(value % 1)) { + return ok(value); + } + + return badPrimitive('an Int', value); + + case 'float': + return (typeof value === 'number') + ? ok(value) + : badPrimitive('a Float', value); + + case 'string': + return (typeof value === 'string') + ? ok(value) + : (value instanceof String) + ? ok(value + '') + : badPrimitive('a String', value); + + case 'null': + return (value === null) + ? ok(decoder.value) + : badPrimitive('null', value); + + case 'value': + return ok(value); + + case 'list': + if (!(value instanceof Array)) + { + return badPrimitive('a List', value); + } + + var list = _elm_lang$core$Native_List.Nil; + for (var i = value.length; i--; ) + { + var result = runHelp(decoder.decoder, value[i]); + if (result.tag !== 'ok') + { + return badIndex(i, result) + } + list = _elm_lang$core$Native_List.Cons(result.value, list); + } + return ok(list); + + case 'array': + if (!(value instanceof Array)) + { + return badPrimitive('an Array', value); + } + + var len = value.length; + var array = new Array(len); + for (var i = len; i--; ) + { + var result = runHelp(decoder.decoder, value[i]); + if (result.tag !== 'ok') + { + return badIndex(i, result); + } + array[i] = result.value; + } + return ok(_elm_lang$core$Native_Array.fromJSArray(array)); + + case 'maybe': + var result = runHelp(decoder.decoder, value); + return (result.tag === 'ok') + ? ok(_elm_lang$core$Maybe$Just(result.value)) + : ok(_elm_lang$core$Maybe$Nothing); + + case 'field': + var field = decoder.field; + if (typeof value !== 'object' || value === null || !(field in value)) + { + return badPrimitive('an object with a field named `' + field + '`', value); + } + + var result = runHelp(decoder.decoder, value[field]); + return (result.tag === 'ok') ? result : badField(field, result); + + case 'index': + var index = decoder.index; + if (!(value instanceof Array)) + { + return badPrimitive('an array', value); + } + if (index >= value.length) + { + return badPrimitive('a longer array. Need index ' + index + ' but there are only ' + value.length + ' entries', value); + } + + var result = runHelp(decoder.decoder, value[index]); + return (result.tag === 'ok') ? result : badIndex(index, result); + + case 'key-value': + if (typeof value !== 'object' || value === null || value instanceof Array) + { + return badPrimitive('an object', value); + } + + var keyValuePairs = _elm_lang$core$Native_List.Nil; + for (var key in value) + { + var result = runHelp(decoder.decoder, value[key]); + if (result.tag !== 'ok') + { + return badField(key, result); + } + var pair = _elm_lang$core$Native_Utils.Tuple2(key, result.value); + keyValuePairs = _elm_lang$core$Native_List.Cons(pair, keyValuePairs); + } + return ok(keyValuePairs); + + case 'map-many': + var answer = decoder.func; + var decoders = decoder.decoders; + for (var i = 0; i < decoders.length; i++) + { + var result = runHelp(decoders[i], value); + if (result.tag !== 'ok') + { + return result; + } + answer = answer(result.value); + } + return ok(answer); + + case 'andThen': + var result = runHelp(decoder.decoder, value); + return (result.tag !== 'ok') + ? result + : runHelp(decoder.callback(result.value), value); + + case 'oneOf': + var errors = []; + var temp = decoder.decoders; + while (temp.ctor !== '[]') + { + var result = runHelp(temp._0, value); + + if (result.tag === 'ok') + { + return result; + } + + errors.push(result); + + temp = temp._1; + } + return badOneOf(errors); + + case 'fail': + return bad(decoder.msg); + + case 'succeed': + return ok(decoder.msg); + } +} + + +// EQUALITY + +function equality(a, b) +{ + if (a === b) + { + return true; + } + + if (a.tag !== b.tag) + { + return false; + } + + switch (a.tag) + { + case 'succeed': + case 'fail': + return a.msg === b.msg; + + case 'bool': + case 'int': + case 'float': + case 'string': + case 'value': + return true; + + case 'null': + return a.value === b.value; + + case 'list': + case 'array': + case 'maybe': + case 'key-value': + return equality(a.decoder, b.decoder); + + case 'field': + return a.field === b.field && equality(a.decoder, b.decoder); + + case 'index': + return a.index === b.index && equality(a.decoder, b.decoder); + + case 'map-many': + if (a.func !== b.func) + { + return false; + } + return listEquality(a.decoders, b.decoders); + + case 'andThen': + return a.callback === b.callback && equality(a.decoder, b.decoder); + + case 'oneOf': + return listEquality(a.decoders, b.decoders); + } +} + +function listEquality(aDecoders, bDecoders) +{ + var len = aDecoders.length; + if (len !== bDecoders.length) + { + return false; + } + for (var i = 0; i < len; i++) + { + if (!equality(aDecoders[i], bDecoders[i])) + { + return false; + } + } + return true; +} + + +// ENCODE + +function encode(indentLevel, value) +{ + return JSON.stringify(value, null, indentLevel); +} + +function identity(value) +{ + return value; +} + +function encodeObject(keyValuePairs) +{ + var obj = {}; + while (keyValuePairs.ctor !== '[]') + { + var pair = keyValuePairs._0; + obj[pair._0] = pair._1; + keyValuePairs = keyValuePairs._1; + } + return obj; +} + +return { + encode: F2(encode), + runOnString: F2(runOnString), + run: F2(run), + + decodeNull: decodeNull, + decodePrimitive: decodePrimitive, + decodeContainer: F2(decodeContainer), + + decodeField: F2(decodeField), + decodeIndex: F2(decodeIndex), + + map1: F2(map1), + map2: F3(map2), + map3: F4(map3), + map4: F5(map4), + map5: F6(map5), + map6: F7(map6), + map7: F8(map7), + map8: F9(map8), + decodeKeyValuePairs: decodeKeyValuePairs, + + andThen: F2(andThen), + fail: fail, + succeed: succeed, + oneOf: oneOf, + + identity: identity, + encodeNull: null, + encodeArray: _elm_lang$core$Native_Array.toJSArray, + encodeList: _elm_lang$core$Native_List.toArray, + encodeObject: encodeObject, + + equality: equality +}; + +}(); diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js new file mode 100644 index 0000000..ccefb9c --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js @@ -0,0 +1,137 @@ +//import Native.Utils // + +var _elm_lang$core$Native_List = function() { + +var Nil = { ctor: '[]' }; + +function Cons(hd, tl) +{ + return { ctor: '::', _0: hd, _1: tl }; +} + +function fromArray(arr) +{ + var out = Nil; + for (var i = arr.length; i--; ) + { + out = Cons(arr[i], out); + } + return out; +} + +function toArray(xs) +{ + var out = []; + while (xs.ctor !== '[]') + { + out.push(xs._0); + xs = xs._1; + } + return out; +} + +function foldr(f, b, xs) +{ + var arr = toArray(xs); + var acc = b; + for (var i = arr.length; i--; ) + { + acc = A2(f, arr[i], acc); + } + return acc; +} + +function map2(f, xs, ys) +{ + var arr = []; + while (xs.ctor !== '[]' && ys.ctor !== '[]') + { + arr.push(A2(f, xs._0, ys._0)); + xs = xs._1; + ys = ys._1; + } + return fromArray(arr); +} + +function map3(f, xs, ys, zs) +{ + var arr = []; + while (xs.ctor !== '[]' && ys.ctor !== '[]' && zs.ctor !== '[]') + { + arr.push(A3(f, xs._0, ys._0, zs._0)); + xs = xs._1; + ys = ys._1; + zs = zs._1; + } + return fromArray(arr); +} + +function map4(f, ws, xs, ys, zs) +{ + var arr = []; + while ( ws.ctor !== '[]' + && xs.ctor !== '[]' + && ys.ctor !== '[]' + && zs.ctor !== '[]') + { + arr.push(A4(f, ws._0, xs._0, ys._0, zs._0)); + ws = ws._1; + xs = xs._1; + ys = ys._1; + zs = zs._1; + } + return fromArray(arr); +} + +function map5(f, vs, ws, xs, ys, zs) +{ + var arr = []; + while ( vs.ctor !== '[]' + && ws.ctor !== '[]' + && xs.ctor !== '[]' + && ys.ctor !== '[]' + && zs.ctor !== '[]') + { + arr.push(A5(f, vs._0, ws._0, xs._0, ys._0, zs._0)); + vs = vs._1; + ws = ws._1; + xs = xs._1; + ys = ys._1; + zs = zs._1; + } + return fromArray(arr); +} + +function sortBy(f, xs) +{ + return fromArray(toArray(xs).sort(function(a, b) { + return _elm_lang$core$Native_Utils.cmp(f(a), f(b)); + })); +} + +function sortWith(f, xs) +{ + return fromArray(toArray(xs).sort(function(a, b) { + var ord = f(a)(b).ctor; + return ord === 'EQ' ? 0 : ord === 'LT' ? -1 : 1; + })); +} + +return { + Nil: Nil, + Cons: Cons, + cons: F2(Cons), + toArray: toArray, + fromArray: fromArray, + + foldr: F3(foldr), + + map2: F3(map2), + map3: F4(map3), + map4: F5(map4), + map5: F6(map5), + sortBy: F2(sortBy), + sortWith: F2(sortWith) +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js new file mode 100644 index 0000000..f34b812 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js @@ -0,0 +1,560 @@ +//import // + +var _elm_lang$core$Native_Platform = function() { + + +// PROGRAMS + +function program(impl) +{ + return function(flagDecoder) + { + return function(object, moduleName) + { + object['worker'] = function worker(flags) + { + if (typeof flags !== 'undefined') + { + throw new Error( + 'The `' + moduleName + '` module does not need flags.\n' + + 'Call ' + moduleName + '.worker() with no arguments and you should be all set!' + ); + } + + return initialize( + impl.init, + impl.update, + impl.subscriptions, + renderer + ); + }; + }; + }; +} + +function programWithFlags(impl) +{ + return function(flagDecoder) + { + return function(object, moduleName) + { + object['worker'] = function worker(flags) + { + if (typeof flagDecoder === 'undefined') + { + throw new Error( + 'Are you trying to sneak a Never value into Elm? Trickster!\n' + + 'It looks like ' + moduleName + '.main is defined with `programWithFlags` but has type `Program Never`.\n' + + 'Use `program` instead if you do not want flags.' + ); + } + + var result = A2(_elm_lang$core$Native_Json.run, flagDecoder, flags); + if (result.ctor === 'Err') + { + throw new Error( + moduleName + '.worker(...) was called with an unexpected argument.\n' + + 'I tried to convert it to an Elm value, but ran into this problem:\n\n' + + result._0 + ); + } + + return initialize( + impl.init(result._0), + impl.update, + impl.subscriptions, + renderer + ); + }; + }; + }; +} + +function renderer(enqueue, _) +{ + return function(_) {}; +} + + +// HTML TO PROGRAM + +function htmlToProgram(vnode) +{ + var emptyBag = batch(_elm_lang$core$Native_List.Nil); + var noChange = _elm_lang$core$Native_Utils.Tuple2( + _elm_lang$core$Native_Utils.Tuple0, + emptyBag + ); + + return _elm_lang$virtual_dom$VirtualDom$program({ + init: noChange, + view: function(model) { return main; }, + update: F2(function(msg, model) { return noChange; }), + subscriptions: function (model) { return emptyBag; } + }); +} + + +// INITIALIZE A PROGRAM + +function initialize(init, update, subscriptions, renderer) +{ + // ambient state + var managers = {}; + var updateView; + + // init and update state in main process + var initApp = _elm_lang$core$Native_Scheduler.nativeBinding(function(callback) { + var model = init._0; + updateView = renderer(enqueue, model); + var cmds = init._1; + var subs = subscriptions(model); + dispatchEffects(managers, cmds, subs); + callback(_elm_lang$core$Native_Scheduler.succeed(model)); + }); + + function onMessage(msg, model) + { + return _elm_lang$core$Native_Scheduler.nativeBinding(function(callback) { + var results = A2(update, msg, model); + model = results._0; + updateView(model); + var cmds = results._1; + var subs = subscriptions(model); + dispatchEffects(managers, cmds, subs); + callback(_elm_lang$core$Native_Scheduler.succeed(model)); + }); + } + + var mainProcess = spawnLoop(initApp, onMessage); + + function enqueue(msg) + { + _elm_lang$core$Native_Scheduler.rawSend(mainProcess, msg); + } + + var ports = setupEffects(managers, enqueue); + + return ports ? { ports: ports } : {}; +} + + +// EFFECT MANAGERS + +var effectManagers = {}; + +function setupEffects(managers, callback) +{ + var ports; + + // setup all necessary effect managers + for (var key in effectManagers) + { + var manager = effectManagers[key]; + + if (manager.isForeign) + { + ports = ports || {}; + ports[key] = manager.tag === 'cmd' + ? setupOutgoingPort(key) + : setupIncomingPort(key, callback); + } + + managers[key] = makeManager(manager, callback); + } + + return ports; +} + +function makeManager(info, callback) +{ + var router = { + main: callback, + self: undefined + }; + + var tag = info.tag; + var onEffects = info.onEffects; + var onSelfMsg = info.onSelfMsg; + + function onMessage(msg, state) + { + if (msg.ctor === 'self') + { + return A3(onSelfMsg, router, msg._0, state); + } + + var fx = msg._0; + switch (tag) + { + case 'cmd': + return A3(onEffects, router, fx.cmds, state); + + case 'sub': + return A3(onEffects, router, fx.subs, state); + + case 'fx': + return A4(onEffects, router, fx.cmds, fx.subs, state); + } + } + + var process = spawnLoop(info.init, onMessage); + router.self = process; + return process; +} + +function sendToApp(router, msg) +{ + return _elm_lang$core$Native_Scheduler.nativeBinding(function(callback) + { + router.main(msg); + callback(_elm_lang$core$Native_Scheduler.succeed(_elm_lang$core$Native_Utils.Tuple0)); + }); +} + +function sendToSelf(router, msg) +{ + return A2(_elm_lang$core$Native_Scheduler.send, router.self, { + ctor: 'self', + _0: msg + }); +} + + +// HELPER for STATEFUL LOOPS + +function spawnLoop(init, onMessage) +{ + var andThen = _elm_lang$core$Native_Scheduler.andThen; + + function loop(state) + { + var handleMsg = _elm_lang$core$Native_Scheduler.receive(function(msg) { + return onMessage(msg, state); + }); + return A2(andThen, loop, handleMsg); + } + + var task = A2(andThen, loop, init); + + return _elm_lang$core$Native_Scheduler.rawSpawn(task); +} + + +// BAGS + +function leaf(home) +{ + return function(value) + { + return { + type: 'leaf', + home: home, + value: value + }; + }; +} + +function batch(list) +{ + return { + type: 'node', + branches: list + }; +} + +function map(tagger, bag) +{ + return { + type: 'map', + tagger: tagger, + tree: bag + } +} + + +// PIPE BAGS INTO EFFECT MANAGERS + +function dispatchEffects(managers, cmdBag, subBag) +{ + var effectsDict = {}; + gatherEffects(true, cmdBag, effectsDict, null); + gatherEffects(false, subBag, effectsDict, null); + + for (var home in managers) + { + var fx = home in effectsDict + ? effectsDict[home] + : { + cmds: _elm_lang$core$Native_List.Nil, + subs: _elm_lang$core$Native_List.Nil + }; + + _elm_lang$core$Native_Scheduler.rawSend(managers[home], { ctor: 'fx', _0: fx }); + } +} + +function gatherEffects(isCmd, bag, effectsDict, taggers) +{ + switch (bag.type) + { + case 'leaf': + var home = bag.home; + var effect = toEffect(isCmd, home, taggers, bag.value); + effectsDict[home] = insert(isCmd, effect, effectsDict[home]); + return; + + case 'node': + var list = bag.branches; + while (list.ctor !== '[]') + { + gatherEffects(isCmd, list._0, effectsDict, taggers); + list = list._1; + } + return; + + case 'map': + gatherEffects(isCmd, bag.tree, effectsDict, { + tagger: bag.tagger, + rest: taggers + }); + return; + } +} + +function toEffect(isCmd, home, taggers, value) +{ + function applyTaggers(x) + { + var temp = taggers; + while (temp) + { + x = temp.tagger(x); + temp = temp.rest; + } + return x; + } + + var map = isCmd + ? effectManagers[home].cmdMap + : effectManagers[home].subMap; + + return A2(map, applyTaggers, value) +} + +function insert(isCmd, newEffect, effects) +{ + effects = effects || { + cmds: _elm_lang$core$Native_List.Nil, + subs: _elm_lang$core$Native_List.Nil + }; + if (isCmd) + { + effects.cmds = _elm_lang$core$Native_List.Cons(newEffect, effects.cmds); + return effects; + } + effects.subs = _elm_lang$core$Native_List.Cons(newEffect, effects.subs); + return effects; +} + + +// PORTS + +function checkPortName(name) +{ + if (name in effectManagers) + { + throw new Error('There can only be one port named `' + name + '`, but your program has multiple.'); + } +} + + +// OUTGOING PORTS + +function outgoingPort(name, converter) +{ + checkPortName(name); + effectManagers[name] = { + tag: 'cmd', + cmdMap: outgoingPortMap, + converter: converter, + isForeign: true + }; + return leaf(name); +} + +var outgoingPortMap = F2(function cmdMap(tagger, value) { + return value; +}); + +function setupOutgoingPort(name) +{ + var subs = []; + var converter = effectManagers[name].converter; + + // CREATE MANAGER + + var init = _elm_lang$core$Native_Scheduler.succeed(null); + + function onEffects(router, cmdList, state) + { + while (cmdList.ctor !== '[]') + { + // grab a separate reference to subs in case unsubscribe is called + var currentSubs = subs; + var value = converter(cmdList._0); + for (var i = 0; i < currentSubs.length; i++) + { + currentSubs[i](value); + } + cmdList = cmdList._1; + } + return init; + } + + effectManagers[name].init = init; + effectManagers[name].onEffects = F3(onEffects); + + // PUBLIC API + + function subscribe(callback) + { + subs.push(callback); + } + + function unsubscribe(callback) + { + // copy subs into a new array in case unsubscribe is called within a + // subscribed callback + subs = subs.slice(); + var index = subs.indexOf(callback); + if (index >= 0) + { + subs.splice(index, 1); + } + } + + return { + subscribe: subscribe, + unsubscribe: unsubscribe + }; +} + + +// INCOMING PORTS + +function incomingPort(name, converter) +{ + checkPortName(name); + effectManagers[name] = { + tag: 'sub', + subMap: incomingPortMap, + converter: converter, + isForeign: true + }; + return leaf(name); +} + +var incomingPortMap = F2(function subMap(tagger, finalTagger) +{ + return function(value) + { + return tagger(finalTagger(value)); + }; +}); + +function setupIncomingPort(name, callback) +{ + var sentBeforeInit = []; + var subs = _elm_lang$core$Native_List.Nil; + var converter = effectManagers[name].converter; + var currentOnEffects = preInitOnEffects; + var currentSend = preInitSend; + + // CREATE MANAGER + + var init = _elm_lang$core$Native_Scheduler.succeed(null); + + function preInitOnEffects(router, subList, state) + { + var postInitResult = postInitOnEffects(router, subList, state); + + for(var i = 0; i < sentBeforeInit.length; i++) + { + postInitSend(sentBeforeInit[i]); + } + + sentBeforeInit = null; // to release objects held in queue + currentSend = postInitSend; + currentOnEffects = postInitOnEffects; + return postInitResult; + } + + function postInitOnEffects(router, subList, state) + { + subs = subList; + return init; + } + + function onEffects(router, subList, state) + { + return currentOnEffects(router, subList, state); + } + + effectManagers[name].init = init; + effectManagers[name].onEffects = F3(onEffects); + + // PUBLIC API + + function preInitSend(value) + { + sentBeforeInit.push(value); + } + + function postInitSend(incomingValue) + { + var result = A2(_elm_lang$core$Json_Decode$decodeValue, converter, incomingValue); + if (result.ctor === 'Err') + { + throw new Error('Trying to send an unexpected type of value through port `' + name + '`:\n' + result._0); + } + + var value = result._0; + var temp = subs; + while (temp.ctor !== '[]') + { + callback(temp._0(value)); + temp = temp._1; + } + } + + function send(incomingValue) + { + currentSend(incomingValue); + } + + return { send: send }; +} + +return { + // routers + sendToApp: F2(sendToApp), + sendToSelf: F2(sendToSelf), + + // global setup + effectManagers: effectManagers, + outgoingPort: outgoingPort, + incomingPort: incomingPort, + + htmlToProgram: htmlToProgram, + program: program, + programWithFlags: programWithFlags, + initialize: initialize, + + // effect bags + leaf: leaf, + batch: batch, + map: F2(map) +}; + +}(); diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js new file mode 100644 index 0000000..d3cc0dd --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js @@ -0,0 +1,119 @@ +//import Maybe, Native.List // + +var _elm_lang$core$Native_Regex = function() { + +function escape(str) +{ + return str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); +} +function caseInsensitive(re) +{ + return new RegExp(re.source, 'gi'); +} +function regex(raw) +{ + return new RegExp(raw, 'g'); +} + +function contains(re, string) +{ + return string.match(re) !== null; +} + +function find(n, re, str) +{ + n = n.ctor === 'All' ? Infinity : n._0; + var out = []; + var number = 0; + var string = str; + var lastIndex = re.lastIndex; + var prevLastIndex = -1; + var result; + while (number++ < n && (result = re.exec(string))) + { + if (prevLastIndex === re.lastIndex) break; + var i = result.length - 1; + var subs = new Array(i); + while (i > 0) + { + var submatch = result[i]; + subs[--i] = submatch === undefined + ? _elm_lang$core$Maybe$Nothing + : _elm_lang$core$Maybe$Just(submatch); + } + out.push({ + match: result[0], + submatches: _elm_lang$core$Native_List.fromArray(subs), + index: result.index, + number: number + }); + prevLastIndex = re.lastIndex; + } + re.lastIndex = lastIndex; + return _elm_lang$core$Native_List.fromArray(out); +} + +function replace(n, re, replacer, string) +{ + n = n.ctor === 'All' ? Infinity : n._0; + var count = 0; + function jsReplacer(match) + { + if (count++ >= n) + { + return match; + } + var i = arguments.length - 3; + var submatches = new Array(i); + while (i > 0) + { + var submatch = arguments[i]; + submatches[--i] = submatch === undefined + ? _elm_lang$core$Maybe$Nothing + : _elm_lang$core$Maybe$Just(submatch); + } + return replacer({ + match: match, + submatches: _elm_lang$core$Native_List.fromArray(submatches), + index: arguments[arguments.length - 2], + number: count + }); + } + return string.replace(re, jsReplacer); +} + +function split(n, re, str) +{ + n = n.ctor === 'All' ? Infinity : n._0; + if (n === Infinity) + { + return _elm_lang$core$Native_List.fromArray(str.split(re)); + } + var string = str; + var result; + var out = []; + var start = re.lastIndex; + var restoreLastIndex = re.lastIndex; + while (n--) + { + if (!(result = re.exec(string))) break; + out.push(string.slice(start, result.index)); + start = re.lastIndex; + } + out.push(string.slice(start)); + re.lastIndex = restoreLastIndex; + return _elm_lang$core$Native_List.fromArray(out); +} + +return { + regex: regex, + caseInsensitive: caseInsensitive, + escape: escape, + + contains: F2(contains), + find: F3(find), + replace: F4(replace), + split: F3(split) +}; + +}(); diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js new file mode 100644 index 0000000..00f8259 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js @@ -0,0 +1,281 @@ +//import Native.Utils // + +var _elm_lang$core$Native_Scheduler = function() { + +var MAX_STEPS = 10000; + + +// TASKS + +function succeed(value) +{ + return { + ctor: '_Task_succeed', + value: value + }; +} + +function fail(error) +{ + return { + ctor: '_Task_fail', + value: error + }; +} + +function nativeBinding(callback) +{ + return { + ctor: '_Task_nativeBinding', + callback: callback, + cancel: null + }; +} + +function andThen(callback, task) +{ + return { + ctor: '_Task_andThen', + callback: callback, + task: task + }; +} + +function onError(callback, task) +{ + return { + ctor: '_Task_onError', + callback: callback, + task: task + }; +} + +function receive(callback) +{ + return { + ctor: '_Task_receive', + callback: callback + }; +} + + +// PROCESSES + +function rawSpawn(task) +{ + var process = { + ctor: '_Process', + id: _elm_lang$core$Native_Utils.guid(), + root: task, + stack: null, + mailbox: [] + }; + + enqueue(process); + + return process; +} + +function spawn(task) +{ + return nativeBinding(function(callback) { + var process = rawSpawn(task); + callback(succeed(process)); + }); +} + +function rawSend(process, msg) +{ + process.mailbox.push(msg); + enqueue(process); +} + +function send(process, msg) +{ + return nativeBinding(function(callback) { + rawSend(process, msg); + callback(succeed(_elm_lang$core$Native_Utils.Tuple0)); + }); +} + +function kill(process) +{ + return nativeBinding(function(callback) { + var root = process.root; + if (root.ctor === '_Task_nativeBinding' && root.cancel) + { + root.cancel(); + } + + process.root = null; + + callback(succeed(_elm_lang$core$Native_Utils.Tuple0)); + }); +} + +function sleep(time) +{ + return nativeBinding(function(callback) { + var id = setTimeout(function() { + callback(succeed(_elm_lang$core$Native_Utils.Tuple0)); + }, time); + + return function() { clearTimeout(id); }; + }); +} + + +// STEP PROCESSES + +function step(numSteps, process) +{ + while (numSteps < MAX_STEPS) + { + var ctor = process.root.ctor; + + if (ctor === '_Task_succeed') + { + while (process.stack && process.stack.ctor === '_Task_onError') + { + process.stack = process.stack.rest; + } + if (process.stack === null) + { + break; + } + process.root = process.stack.callback(process.root.value); + process.stack = process.stack.rest; + ++numSteps; + continue; + } + + if (ctor === '_Task_fail') + { + while (process.stack && process.stack.ctor === '_Task_andThen') + { + process.stack = process.stack.rest; + } + if (process.stack === null) + { + break; + } + process.root = process.stack.callback(process.root.value); + process.stack = process.stack.rest; + ++numSteps; + continue; + } + + if (ctor === '_Task_andThen') + { + process.stack = { + ctor: '_Task_andThen', + callback: process.root.callback, + rest: process.stack + }; + process.root = process.root.task; + ++numSteps; + continue; + } + + if (ctor === '_Task_onError') + { + process.stack = { + ctor: '_Task_onError', + callback: process.root.callback, + rest: process.stack + }; + process.root = process.root.task; + ++numSteps; + continue; + } + + if (ctor === '_Task_nativeBinding') + { + process.root.cancel = process.root.callback(function(newRoot) { + process.root = newRoot; + enqueue(process); + }); + + break; + } + + if (ctor === '_Task_receive') + { + var mailbox = process.mailbox; + if (mailbox.length === 0) + { + break; + } + + process.root = process.root.callback(mailbox.shift()); + ++numSteps; + continue; + } + + throw new Error(ctor); + } + + if (numSteps < MAX_STEPS) + { + return numSteps + 1; + } + enqueue(process); + + return numSteps; +} + + +// WORK QUEUE + +var working = false; +var workQueue = []; + +function enqueue(process) +{ + workQueue.push(process); + + if (!working) + { + setTimeout(work, 0); + working = true; + } +} + +function work() +{ + var numSteps = 0; + var process; + while (numSteps < MAX_STEPS && (process = workQueue.shift())) + { + if (process.root) + { + numSteps = step(numSteps, process); + } + } + if (!process) + { + working = false; + return; + } + setTimeout(work, 0); +} + + +return { + succeed: succeed, + fail: fail, + nativeBinding: nativeBinding, + andThen: F2(andThen), + onError: F2(onError), + receive: receive, + + spawn: spawn, + kill: kill, + sleep: sleep, + send: F2(send), + + rawSpawn: rawSpawn, + rawSend: rawSend +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js new file mode 100644 index 0000000..9ef216a --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js @@ -0,0 +1,335 @@ +//import Maybe, Native.List, Native.Utils, Result // + +var _elm_lang$core$Native_String = function() { + +function isEmpty(str) +{ + return str.length === 0; +} +function cons(chr, str) +{ + return chr + str; +} +function uncons(str) +{ + var hd = str[0]; + if (hd) + { + return _elm_lang$core$Maybe$Just(_elm_lang$core$Native_Utils.Tuple2(_elm_lang$core$Native_Utils.chr(hd), str.slice(1))); + } + return _elm_lang$core$Maybe$Nothing; +} +function append(a, b) +{ + return a + b; +} +function concat(strs) +{ + return _elm_lang$core$Native_List.toArray(strs).join(''); +} +function length(str) +{ + return str.length; +} +function map(f, str) +{ + var out = str.split(''); + for (var i = out.length; i--; ) + { + out[i] = f(_elm_lang$core$Native_Utils.chr(out[i])); + } + return out.join(''); +} +function filter(pred, str) +{ + return str.split('').map(_elm_lang$core$Native_Utils.chr).filter(pred).join(''); +} +function reverse(str) +{ + return str.split('').reverse().join(''); +} +function foldl(f, b, str) +{ + var len = str.length; + for (var i = 0; i < len; ++i) + { + b = A2(f, _elm_lang$core$Native_Utils.chr(str[i]), b); + } + return b; +} +function foldr(f, b, str) +{ + for (var i = str.length; i--; ) + { + b = A2(f, _elm_lang$core$Native_Utils.chr(str[i]), b); + } + return b; +} +function split(sep, str) +{ + return _elm_lang$core$Native_List.fromArray(str.split(sep)); +} +function join(sep, strs) +{ + return _elm_lang$core$Native_List.toArray(strs).join(sep); +} +function repeat(n, str) +{ + var result = ''; + while (n > 0) + { + if (n & 1) + { + result += str; + } + n >>= 1, str += str; + } + return result; +} +function slice(start, end, str) +{ + return str.slice(start, end); +} +function left(n, str) +{ + return n < 1 ? '' : str.slice(0, n); +} +function right(n, str) +{ + return n < 1 ? '' : str.slice(-n); +} +function dropLeft(n, str) +{ + return n < 1 ? str : str.slice(n); +} +function dropRight(n, str) +{ + return n < 1 ? str : str.slice(0, -n); +} +function pad(n, chr, str) +{ + var half = (n - str.length) / 2; + return repeat(Math.ceil(half), chr) + str + repeat(half | 0, chr); +} +function padRight(n, chr, str) +{ + return str + repeat(n - str.length, chr); +} +function padLeft(n, chr, str) +{ + return repeat(n - str.length, chr) + str; +} + +function trim(str) +{ + return str.trim(); +} +function trimLeft(str) +{ + return str.replace(/^\s+/, ''); +} +function trimRight(str) +{ + return str.replace(/\s+$/, ''); +} + +function words(str) +{ + return _elm_lang$core$Native_List.fromArray(str.trim().split(/\s+/g)); +} +function lines(str) +{ + return _elm_lang$core$Native_List.fromArray(str.split(/\r\n|\r|\n/g)); +} + +function toUpper(str) +{ + return str.toUpperCase(); +} +function toLower(str) +{ + return str.toLowerCase(); +} + +function any(pred, str) +{ + for (var i = str.length; i--; ) + { + if (pred(_elm_lang$core$Native_Utils.chr(str[i]))) + { + return true; + } + } + return false; +} +function all(pred, str) +{ + for (var i = str.length; i--; ) + { + if (!pred(_elm_lang$core$Native_Utils.chr(str[i]))) + { + return false; + } + } + return true; +} + +function contains(sub, str) +{ + return str.indexOf(sub) > -1; +} +function startsWith(sub, str) +{ + return str.indexOf(sub) === 0; +} +function endsWith(sub, str) +{ + return str.length >= sub.length && + str.lastIndexOf(sub) === str.length - sub.length; +} +function indexes(sub, str) +{ + var subLen = sub.length; + + if (subLen < 1) + { + return _elm_lang$core$Native_List.Nil; + } + + var i = 0; + var is = []; + + while ((i = str.indexOf(sub, i)) > -1) + { + is.push(i); + i = i + subLen; + } + + return _elm_lang$core$Native_List.fromArray(is); +} + +function toInt(s) +{ + var len = s.length; + if (len === 0) + { + return _elm_lang$core$Result$Err("could not convert string '" + s + "' to an Int" ); + } + var start = 0; + if (s[0] === '-') + { + if (len === 1) + { + return _elm_lang$core$Result$Err("could not convert string '" + s + "' to an Int" ); + } + start = 1; + } + for (var i = start; i < len; ++i) + { + var c = s[i]; + if (c < '0' || '9' < c) + { + return _elm_lang$core$Result$Err("could not convert string '" + s + "' to an Int" ); + } + } + return _elm_lang$core$Result$Ok(parseInt(s, 10)); +} + +function toFloat(s) +{ + var len = s.length; + if (len === 0) + { + return _elm_lang$core$Result$Err("could not convert string '" + s + "' to a Float" ); + } + var start = 0; + if (s[0] === '-') + { + if (len === 1) + { + return _elm_lang$core$Result$Err("could not convert string '" + s + "' to a Float" ); + } + start = 1; + } + var dotCount = 0; + for (var i = start; i < len; ++i) + { + var c = s[i]; + if ('0' <= c && c <= '9') + { + continue; + } + if (c === '.') + { + dotCount += 1; + if (dotCount <= 1) + { + continue; + } + } + return _elm_lang$core$Result$Err("could not convert string '" + s + "' to a Float" ); + } + return _elm_lang$core$Result$Ok(parseFloat(s)); +} + +function toList(str) +{ + return _elm_lang$core$Native_List.fromArray(str.split('').map(_elm_lang$core$Native_Utils.chr)); +} +function fromList(chars) +{ + return _elm_lang$core$Native_List.toArray(chars).join(''); +} + +return { + isEmpty: isEmpty, + cons: F2(cons), + uncons: uncons, + append: F2(append), + concat: concat, + length: length, + map: F2(map), + filter: F2(filter), + reverse: reverse, + foldl: F3(foldl), + foldr: F3(foldr), + + split: F2(split), + join: F2(join), + repeat: F2(repeat), + + slice: F3(slice), + left: F2(left), + right: F2(right), + dropLeft: F2(dropLeft), + dropRight: F2(dropRight), + + pad: F3(pad), + padLeft: F3(padLeft), + padRight: F3(padRight), + + trim: trim, + trimLeft: trimLeft, + trimRight: trimRight, + + words: words, + lines: lines, + + toUpper: toUpper, + toLower: toLower, + + any: F2(any), + all: F2(all), + + contains: F2(contains), + startsWith: F2(startsWith), + endsWith: F2(endsWith), + indexes: F2(indexes), + + toInt: toInt, + toFloat: toFloat, + toList: toList, + fromList: fromList +}; + +}(); diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js new file mode 100644 index 0000000..6b665ea --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js @@ -0,0 +1,27 @@ +//import Native.Scheduler // + +var _elm_lang$core$Native_Time = function() { + +var now = _elm_lang$core$Native_Scheduler.nativeBinding(function(callback) +{ + callback(_elm_lang$core$Native_Scheduler.succeed(Date.now())); +}); + +function setInterval_(interval, task) +{ + return _elm_lang$core$Native_Scheduler.nativeBinding(function(callback) + { + var id = setInterval(function() { + _elm_lang$core$Native_Scheduler.rawSpawn(task); + }, interval); + + return function() { clearInterval(id); }; + }); +} + +return { + now: now, + setInterval_: F2(setInterval_) +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js new file mode 100644 index 0000000..2b08159 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js @@ -0,0 +1,489 @@ +//import // + +var _elm_lang$core$Native_Utils = function() { + +// COMPARISONS + +function eq(x, y) +{ + var stack = []; + var isEqual = eqHelp(x, y, 0, stack); + var pair; + while (isEqual && (pair = stack.pop())) + { + isEqual = eqHelp(pair.x, pair.y, 0, stack); + } + return isEqual; +} + + +function eqHelp(x, y, depth, stack) +{ + if (depth > 100) + { + stack.push({ x: x, y: y }); + return true; + } + + if (x === y) + { + return true; + } + + if (typeof x !== 'object') + { + if (typeof x === 'function') + { + throw new Error( + 'Trying to use `(==)` on functions. There is no way to know if functions are "the same" in the Elm sense.' + + ' Read more about this at http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#==' + + ' which describes why it is this way and what the better version will look like.' + ); + } + return false; + } + + if (x === null || y === null) + { + return false + } + + if (x instanceof Date) + { + return x.getTime() === y.getTime(); + } + + if (!('ctor' in x)) + { + for (var key in x) + { + if (!eqHelp(x[key], y[key], depth + 1, stack)) + { + return false; + } + } + return true; + } + + // convert Dicts and Sets to lists + if (x.ctor === 'RBNode_elm_builtin' || x.ctor === 'RBEmpty_elm_builtin') + { + x = _elm_lang$core$Dict$toList(x); + y = _elm_lang$core$Dict$toList(y); + } + if (x.ctor === 'Set_elm_builtin') + { + x = _elm_lang$core$Set$toList(x); + y = _elm_lang$core$Set$toList(y); + } + + // check if lists are equal without recursion + if (x.ctor === '::') + { + var a = x; + var b = y; + while (a.ctor === '::' && b.ctor === '::') + { + if (!eqHelp(a._0, b._0, depth + 1, stack)) + { + return false; + } + a = a._1; + b = b._1; + } + return a.ctor === b.ctor; + } + + // check if Arrays are equal + if (x.ctor === '_Array') + { + var xs = _elm_lang$core$Native_Array.toJSArray(x); + var ys = _elm_lang$core$Native_Array.toJSArray(y); + if (xs.length !== ys.length) + { + return false; + } + for (var i = 0; i < xs.length; i++) + { + if (!eqHelp(xs[i], ys[i], depth + 1, stack)) + { + return false; + } + } + return true; + } + + if (!eqHelp(x.ctor, y.ctor, depth + 1, stack)) + { + return false; + } + + for (var key in x) + { + if (!eqHelp(x[key], y[key], depth + 1, stack)) + { + return false; + } + } + return true; +} + +// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on +// the particular integer values assigned to LT, EQ, and GT. + +var LT = -1, EQ = 0, GT = 1; + +function cmp(x, y) +{ + if (typeof x !== 'object') + { + return x === y ? EQ : x < y ? LT : GT; + } + + if (x instanceof String) + { + var a = x.valueOf(); + var b = y.valueOf(); + return a === b ? EQ : a < b ? LT : GT; + } + + if (x.ctor === '::' || x.ctor === '[]') + { + while (x.ctor === '::' && y.ctor === '::') + { + var ord = cmp(x._0, y._0); + if (ord !== EQ) + { + return ord; + } + x = x._1; + y = y._1; + } + return x.ctor === y.ctor ? EQ : x.ctor === '[]' ? LT : GT; + } + + if (x.ctor.slice(0, 6) === '_Tuple') + { + var ord; + var n = x.ctor.slice(6) - 0; + var err = 'cannot compare tuples with more than 6 elements.'; + if (n === 0) return EQ; + if (n >= 1) { ord = cmp(x._0, y._0); if (ord !== EQ) return ord; + if (n >= 2) { ord = cmp(x._1, y._1); if (ord !== EQ) return ord; + if (n >= 3) { ord = cmp(x._2, y._2); if (ord !== EQ) return ord; + if (n >= 4) { ord = cmp(x._3, y._3); if (ord !== EQ) return ord; + if (n >= 5) { ord = cmp(x._4, y._4); if (ord !== EQ) return ord; + if (n >= 6) { ord = cmp(x._5, y._5); if (ord !== EQ) return ord; + if (n >= 7) throw new Error('Comparison error: ' + err); } } } } } } + return EQ; + } + + throw new Error( + 'Comparison error: comparison is only defined on ints, ' + + 'floats, times, chars, strings, lists of comparable values, ' + + 'and tuples of comparable values.' + ); +} + + +// COMMON VALUES + +var Tuple0 = { + ctor: '_Tuple0' +}; + +function Tuple2(x, y) +{ + return { + ctor: '_Tuple2', + _0: x, + _1: y + }; +} + +function chr(c) +{ + return new String(c); +} + + +// GUID + +var count = 0; +function guid(_) +{ + return count++; +} + + +// RECORDS + +function update(oldRecord, updatedFields) +{ + var newRecord = {}; + + for (var key in oldRecord) + { + newRecord[key] = oldRecord[key]; + } + + for (var key in updatedFields) + { + newRecord[key] = updatedFields[key]; + } + + return newRecord; +} + + +//// LIST STUFF //// + +var Nil = { ctor: '[]' }; + +function Cons(hd, tl) +{ + return { + ctor: '::', + _0: hd, + _1: tl + }; +} + +function append(xs, ys) +{ + // append Strings + if (typeof xs === 'string') + { + return xs + ys; + } + + // append Lists + if (xs.ctor === '[]') + { + return ys; + } + var root = Cons(xs._0, Nil); + var curr = root; + xs = xs._1; + while (xs.ctor !== '[]') + { + curr._1 = Cons(xs._0, Nil); + xs = xs._1; + curr = curr._1; + } + curr._1 = ys; + return root; +} + + +// CRASHES + +function crash(moduleName, region) +{ + return function(message) { + throw new Error( + 'Ran into a `Debug.crash` in module `' + moduleName + '` ' + regionToString(region) + '\n' + + 'The message provided by the code author is:\n\n ' + + message + ); + }; +} + +function crashCase(moduleName, region, value) +{ + return function(message) { + throw new Error( + 'Ran into a `Debug.crash` in module `' + moduleName + '`\n\n' + + 'This was caused by the `case` expression ' + regionToString(region) + '.\n' + + 'One of the branches ended with a crash and the following value got through:\n\n ' + toString(value) + '\n\n' + + 'The message provided by the code author is:\n\n ' + + message + ); + }; +} + +function regionToString(region) +{ + if (region.start.line == region.end.line) + { + return 'on line ' + region.start.line; + } + return 'between lines ' + region.start.line + ' and ' + region.end.line; +} + + +// TO STRING + +function toString(v) +{ + var type = typeof v; + if (type === 'function') + { + var name = v.func ? v.func.name : v.name; + return ''; + } + + if (type === 'boolean') + { + return v ? 'True' : 'False'; + } + + if (type === 'number') + { + return v + ''; + } + + if (v instanceof String) + { + return '\'' + addSlashes(v, true) + '\''; + } + + if (type === 'string') + { + return '"' + addSlashes(v, false) + '"'; + } + + if (v === null) + { + return 'null'; + } + + if (type === 'object' && 'ctor' in v) + { + var ctorStarter = v.ctor.substring(0, 5); + + if (ctorStarter === '_Tupl') + { + var output = []; + for (var k in v) + { + if (k === 'ctor') continue; + output.push(toString(v[k])); + } + return '(' + output.join(',') + ')'; + } + + if (ctorStarter === '_Task') + { + return '' + } + + if (v.ctor === '_Array') + { + var list = _elm_lang$core$Array$toList(v); + return 'Array.fromList ' + toString(list); + } + + if (v.ctor === '') + { + return ''; + } + + if (v.ctor === '_Process') + { + return ''; + } + + if (v.ctor === '::') + { + var output = '[' + toString(v._0); + v = v._1; + while (v.ctor === '::') + { + output += ',' + toString(v._0); + v = v._1; + } + return output + ']'; + } + + if (v.ctor === '[]') + { + return '[]'; + } + + if (v.ctor === 'Set_elm_builtin') + { + return 'Set.fromList ' + toString(_elm_lang$core$Set$toList(v)); + } + + if (v.ctor === 'RBNode_elm_builtin' || v.ctor === 'RBEmpty_elm_builtin') + { + return 'Dict.fromList ' + toString(_elm_lang$core$Dict$toList(v)); + } + + var output = ''; + for (var i in v) + { + if (i === 'ctor') continue; + var str = toString(v[i]); + var c0 = str[0]; + var parenless = c0 === '{' || c0 === '(' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; + output += ' ' + (parenless ? str : '(' + str + ')'); + } + return v.ctor + output; + } + + if (type === 'object') + { + if (v instanceof Date) + { + return '<' + v.toString() + '>'; + } + + if (v.elm_web_socket) + { + return ''; + } + + var output = []; + for (var k in v) + { + output.push(k + ' = ' + toString(v[k])); + } + if (output.length === 0) + { + return '{}'; + } + return '{ ' + output.join(', ') + ' }'; + } + + return ''; +} + +function addSlashes(str, isChar) +{ + var s = str.replace(/\\/g, '\\\\') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + .replace(/\r/g, '\\r') + .replace(/\v/g, '\\v') + .replace(/\0/g, '\\0'); + if (isChar) + { + return s.replace(/\'/g, '\\\''); + } + else + { + return s.replace(/\"/g, '\\"'); + } +} + + +return { + eq: eq, + cmp: cmp, + Tuple0: Tuple0, + Tuple2: Tuple2, + chr: chr, + update: update, + guid: guid, + + append: F2(append), + + crash: crash, + crashCase: crashCase, + + toString: toString +}; + +}(); \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm new file mode 100644 index 0000000..b156ce0 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm @@ -0,0 +1,145 @@ +module Platform exposing + ( Program, program, programWithFlags + , Task, ProcessId + , Router, sendToApp, sendToSelf + ) + +{-| + +# Programs +@docs Program, program, programWithFlags + +# Platform Internals + +## Tasks and Processes +@docs Task, ProcessId + +## Effect Manager Helpers + +An extremely tiny portion of library authors should ever write effect managers. +Fundamentally, Elm needs maybe 10 of them total. I get that people are smart, +curious, etc. but that is not a substitute for a legitimate reason to make an +effect manager. Do you have an *organic need* this fills? Or are you just +curious? Public discussions of your explorations should be framed accordingly. + +@docs Router, sendToApp, sendToSelf +-} + +import Basics exposing (Never) +import Native.Platform +import Native.Scheduler +import Platform.Cmd exposing (Cmd) +import Platform.Sub exposing (Sub) + + + +-- PROGRAMS + + +{-| A `Program` describes how to manage your Elm app. + +You can create [headless][] programs with the [`program`](#program) and +[`programWithFlags`](#programWithFlags) functions. Similar functions exist in +[`Html.App`][app] that let you specify a view. + +[headless]: https://en.wikipedia.org/wiki/Headless_software +[app]: http://package.elm-lang.org/packages/elm-lang/html/latest/Html-App + +Honestly, it is totally normal if this seems crazy at first. The best way to +understand is to work through [guide.elm-lang.org](http://guide.elm-lang.org/). +It makes way more sense in context! +-} +type Program flags model msg = Program + + +{-| Create a [headless][] program. This is great if you want to use Elm as the +“brain” for something else. You can still communicate with JS via +ports and manage your model, you just do not have to specify a `view`. + +[headless]: https://en.wikipedia.org/wiki/Headless_software + +Initializing a headless program from JavaScript looks like this: + +```javascript +var app = Elm.MyThing.worker(); +``` +-} +program + : { init : (model, Cmd msg) + , update : msg -> model -> (model, Cmd msg) + , subscriptions : model -> Sub msg + } + -> Program Never model msg +program = + Native.Platform.program + + +{-| Same as [`program`](#program), but you can provide flags. Initializing a +headless program (with flags) from JavaScript looks like this: + +```javascript +var app = Elm.MyThing.worker({ user: 'Tom', token: 1234 }); +``` + +Whatever argument you provide to `worker` will get converted to an Elm value, +allowing you to configure your Elm program however you want from JavaScript! +-} +programWithFlags + : { init : flags -> (model, Cmd msg) + , update : msg -> model -> (model, Cmd msg) + , subscriptions : model -> Sub msg + } + -> Program flags model msg +programWithFlags = + Native.Platform.programWithFlags + + + +-- TASKS and PROCESSES + +{-| Head over to the documentation for the [`Task`](Task) module for more +information on this. It is only defined here because it is a platform +primitive. +-} +type Task err ok = Task + + +{-| Head over to the documentation for the [`Process`](Process) module for +information on this. It is only defined here because it is a platform +primitive. +-} +type ProcessId = ProcessId + + + +-- EFFECT MANAGER INTERNALS + + +{-| An effect manager has access to a “router” that routes messages between +the main app and your individual effect manager. +-} +type Router appMsg selfMsg = + Router + + +{-| Send the router a message for the main loop of your app. This message will +be handled by the overall `update` function, just like events from `Html`. +-} +sendToApp : Router msg a -> msg -> Task x () +sendToApp = + Native.Platform.sendToApp + + +{-| Send the router a message for your effect manager. This message will +be routed to the `onSelfMsg` function, where you can update the state of your +effect manager as necessary. + +As an example, the effect manager for web sockets +-} +sendToSelf : Router a msg -> msg -> Task x () +sendToSelf = + Native.Platform.sendToSelf + + +hack = + Native.Scheduler.succeed diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm new file mode 100644 index 0000000..a4ae4ed --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm @@ -0,0 +1,67 @@ +module Platform.Cmd exposing + ( Cmd + , map + , batch + , none + , (!) + ) + +{-| + +# Effects + +Elm has **managed effects**, meaning that things like HTTP requests or writing +to disk are all treated as *data* in Elm. When this data is given to the Elm +runtime system, it can do some “query optimization” before actually performing +the effect. Perhaps unexpectedly, this managed effects idea is the heart of why +Elm is so nice for testing, reuse, reproducibility, etc. + +There are two kinds of managed effects you will use in your programs: commands +and subscriptions. + +@docs Cmd, map, batch, none, (!) + +-} + +import Native.Platform + + +{-| A command is a way of telling Elm, “Hey, I want you to do this thing!” +So if you want to send an HTTP request, you would need to command Elm to do it. +Or if you wanted to ask for geolocation, you would need to command Elm to go +get it. + +Every `Cmd` specifies (1) which effects you need access to and (2) the type of +messages that will come back into your application. + +**Note:** Do not worry if this seems confusing at first! As with every Elm user +ever, commands will make more sense as you work through [the Elm Architecture +Tutorial](http://guide.elm-lang.org/architecture/index.html) and see how they +fit into a real application! +-} +type Cmd msg = Cmd + + +{-|-} +map : (a -> msg) -> Cmd a -> Cmd msg +map = + Native.Platform.map + + +{-|-} +batch : List (Cmd msg) -> Cmd msg +batch = + Native.Platform.batch + + +{-|-} +none : Cmd msg +none = + batch [] + + +{-|-} +(!) : model -> List (Cmd msg) -> (model, Cmd msg) +(!) model commands = + (model, batch commands) + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm new file mode 100644 index 0000000..03f2f81 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm @@ -0,0 +1,52 @@ +module Platform.Sub exposing + ( Sub + , map + , batch + , none + ) + +{-| + +@docs Sub, map, batch, none +-} + +import Native.Platform + + +{-| A subscription is a way of telling Elm, “Hey, let me know if anything +interesting happens over there!” So if you want to listen for messages on a web +socket, you would tell Elm to create a subscription. If you want to get clock +ticks, you would tell Elm to subscribe to that. The cool thing here is that +this means *Elm* manages all the details of subscriptions instead of *you*. +So if a web socket goes down, *you* do not need to manually reconnect with an +exponential backoff strategy, *Elm* does this all for you behind the scenes! + +Every `Sub` specifies (1) which effects you need access to and (2) the type of +messages that will come back into your application. + +**Note:** Do not worry if this seems confusing at first! As with every Elm user +ever, subscriptions will make more sense as you work through [the Elm Architecture +Tutorial](http://guide.elm-lang.org/architecture/index.html) and see how they fit +into a real application! +-} +type Sub msg = Sub + + +{-|-} +map : (a -> msg) -> Sub a -> Sub msg +map = + Native.Platform.map + + +{-|-} +batch : List (Sub msg) -> Sub msg +batch = + Native.Platform.batch + + +{-|-} +none : Sub msg +none = + batch [] + + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm new file mode 100644 index 0000000..0ef59af --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm @@ -0,0 +1,106 @@ +module Process exposing + ( Id + , spawn + , sleep + , kill + ) + +{-| + +# Processes +@docs Id, spawn, sleep, kill + +## Future Plans + +Right now, this library is pretty sparse. For example, there is no public API +for processes to communicate with each other. This is a really important +ability, but it is also something that is extraordinarily easy to get wrong! + +I think the trend will be towards an Erlang style of concurrency, where every +process has an “event queue” that anyone can send messages to. I currently +think the API will be extended to be more like this: + + type Id exit msg + + spawn : Task exit a -> Task x (Id exit Never) + + kill : Id exit msg -> Task x () + + send : Id exit msg -> msg -> Task x () + +A process `Id` will have two type variables to make sure all communication is +valid. The `exit` type describes the messages that are produced if the process +fails because of user code. So if processes are linked and trapping errors, +they will need to handle this. The `msg` type just describes what kind of +messages this process can be sent by strangers. + +We shall see though! This is just a draft that does not cover nearly everything +it needs to, so the long-term vision for concurrency in Elm will be rolling out +slowly as I get more data and experience. + +I ask that people bullish on compiling to node.js keep this in mind. I think we +can do better than the hopelessly bad concurrency model of node.js, and I hope +the Elm community will be supportive of being more ambitious, even if it takes +longer. That’s kind of what Elm is all about. +-} + +import Basics exposing (Never) +import Native.Scheduler +import Platform +import Task exposing (Task) +import Time exposing (Time) + + +{-| A light-weight process that runs concurrently. You can use `spawn` to +get a bunch of different tasks running in different processes. The Elm runtime +will interleave their progress. So if a task is taking too long, we will pause +it at an `andThen` and switch over to other stuff. + +**Note:** We make a distinction between *concurrency* which means interleaving +different sequences and *parallelism* which means running different +sequences at the exact same time. For example, a +[time-sharing system](https://en.wikipedia.org/wiki/Time-sharing) is definitely +concurrent, but not necessarily parallel. So even though JS runs within a +single OS-level thread, Elm can still run things concurrently. +-} +type alias Id = + Platform.ProcessId + + +{-| Run a task in its own light-weight process. In the following example, +`task1` and `task2` will be interleaved. If `task1` makes a long HTTP request +or is just taking a long time, we can hop over to `task2` and do some work +there. + + spawn task1 + |> Task.andThen (\_ -> spawn task2) + +**Note:** This creates a relatively restricted kind of `Process` because it +cannot receive any messages. More flexibility for user-defined processes will +come in a later release! +-} +spawn : Task x a -> Task y Id +spawn = + Native.Scheduler.spawn + + +{-| Block progress on the current process for a given amount of time. The +JavaScript equivalent of this is [`setTimeout`][setTimeout] which lets you +delay work until later. + +[setTimeout]: https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout +-} +sleep : Time -> Task x () +sleep = + Native.Scheduler.sleep + + +{-| Sometimes you `spawn` a process, but later decide it would be a waste to +have it keep running and doing stuff. The `kill` function will force a process +to bail on whatever task it is running. So if there is an HTTP request in +flight, it will also abort the request. +-} +kill : Id -> Task x () +kill = + Native.Scheduler.kill + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm new file mode 100644 index 0000000..d506433 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm @@ -0,0 +1,532 @@ +effect module Random where { command = MyCmd } exposing + ( Generator, Seed + , bool, int, float + , list, pair + , map, map2, map3, map4, map5 + , andThen + , minInt, maxInt + , generate + , step, initialSeed + ) + +{-| This library helps you generate pseudo-random values. + +This library is all about building [`generators`](#Generator) for whatever +type of values you need. There are a bunch of primitive generators like +[`bool`](#bool) and [`int`](#int) that you can build up into fancier +generators with functions like [`list`](#list) and [`map`](#map). + +It may be helpful to [read about JSON decoders][json] because they work very +similarly. + +[json]: https://evancz.gitbooks.io/an-introduction-to-elm/content/interop/json.html + +> *Note:* This is an implementation of the Portable Combined Generator of +L'Ecuyer for 32-bit computers. It is almost a direct translation from the +[System.Random](http://hackage.haskell.org/package/random-1.0.1.1/docs/System-Random.html) +module. It has a period of roughly 2.30584e18. + +# Generators +@docs Generator + +# Primitive Generators +@docs bool, int, float + +# Data Structure Generators +@docs pair, list + +# Custom Generators +@docs map, map2, map3, map4, map5, andThen + +# Generate Values +@docs generate + +# Generate Values Manually +@docs step, Seed, initialSeed + +# Constants +@docs maxInt, minInt + +-} + +import Basics exposing (..) +import List exposing ((::)) +import Platform +import Platform.Cmd exposing (Cmd) +import Task exposing (Task) +import Time +import Tuple + + + +-- PRIMITIVE GENERATORS + + +{-| Create a generator that produces boolean values. The following example +simulates a coin flip that may land heads or tails. + + type Flip = Heads | Tails + + coinFlip : Generator Flip + coinFlip = + map (\b -> if b then Heads else Tails) bool +-} +bool : Generator Bool +bool = + map ((==) 1) (int 0 1) + + +{-| Generate 32-bit integers in a given range. + + int 0 10 -- an integer between zero and ten + int -5 5 -- an integer between -5 and 5 + + int minInt maxInt -- an integer in the widest range feasible + +This function *can* produce values outside of the range [[`minInt`](#minInt), +[`maxInt`](#maxInt)] but sufficient randomness is not guaranteed. +-} +int : Int -> Int -> Generator Int +int a b = + Generator <| \(Seed seed) -> + let + (lo,hi) = + if a < b then (a,b) else (b,a) + + k = hi - lo + 1 + -- 2^31 - 87 + base = 2147483561 + n = iLogBase base k + + f n acc state = + case n of + 0 -> (acc, state) + _ -> + let + (x, nextState) = seed.next state + in + f (n - 1) (x + acc * base) nextState + + (v, nextState) = + f n 1 seed.state + in + ( lo + v % k + , Seed { seed | state = nextState } + ) + + +iLogBase : Int -> Int -> Int +iLogBase b i = + if i < b then + 1 + else + 1 + iLogBase b (i // b) + + +{-| The maximum value for randomly generated 32-bit ints: 2147483647 -} +maxInt : Int +maxInt = + 2147483647 + + +{-| The minimum value for randomly generated 32-bit ints: -2147483648 -} +minInt : Int +minInt = + -2147483648 + + +{-| Generate floats in a given range. The following example is a generator +that produces decimals between 0 and 1. + + probability : Generator Float + probability = + float 0 1 +-} +float : Float -> Float -> Generator Float +float a b = + Generator <| \seed -> + let + (lo, hi) = + if a < b then (a,b) else (b,a) + + (number, newSeed) = + step (int minInt maxInt) seed + + negativeOneToOne = + toFloat number / toFloat (maxInt - minInt) + + scaled = + (lo+hi)/2 + ((hi-lo) * negativeOneToOne) + in + (scaled, newSeed) + + + +-- DATA STRUCTURES + + +{-| Create a pair of random values. A common use of this might be to generate +a point in a certain 2D space. Imagine we have a collage that is 400 pixels +wide and 200 pixels tall. + + randomPoint : Generator (Int,Int) + randomPoint = + pair (int -200 200) (int -100 100) + +-} +pair : Generator a -> Generator b -> Generator (a,b) +pair genA genB = + map2 (,) genA genB + + +{-| Create a list of random values. + + floatList : Generator (List Float) + floatList = + list 10 (float 0 1) + + intList : Generator (List Int) + intList = + list 5 (int 0 100) + + intPairs : Generator (List (Int, Int)) + intPairs = + list 10 <| pair (int 0 100) (int 0 100) +-} +list : Int -> Generator a -> Generator (List a) +list n (Generator generate) = + Generator <| \seed -> + listHelp [] n generate seed + + +listHelp : List a -> Int -> (Seed -> (a,Seed)) -> Seed -> (List a, Seed) +listHelp list n generate seed = + if n < 1 then + (List.reverse list, seed) + + else + let + (value, newSeed) = + generate seed + in + listHelp (value :: list) (n-1) generate newSeed + + + +-- CUSTOM GENERATORS + + +{-| Transform the values produced by a generator. The following examples show +how to generate booleans and letters based on a basic integer generator. + + bool : Generator Bool + bool = + map ((==) 1) (int 0 1) + + lowercaseLetter : Generator Char + lowercaseLetter = + map (\n -> Char.fromCode (n + 97)) (int 0 25) + + uppercaseLetter : Generator Char + uppercaseLetter = + map (\n -> Char.fromCode (n + 65)) (int 0 25) + +-} +map : (a -> b) -> Generator a -> Generator b +map func (Generator genA) = + Generator <| \seed0 -> + let + (a, seed1) = genA seed0 + in + (func a, seed1) + + +{-| Combine two generators. + +This function is used to define things like [`pair`](#pair) where you want to +put two generators together. + + pair : Generator a -> Generator b -> Generator (a,b) + pair genA genB = + map2 (,) genA genB + +-} +map2 : (a -> b -> c) -> Generator a -> Generator b -> Generator c +map2 func (Generator genA) (Generator genB) = + Generator <| \seed0 -> + let + (a, seed1) = genA seed0 + (b, seed2) = genB seed1 + in + (func a b, seed2) + + +{-| Combine three generators. This could be used to produce random colors. + + import Color + + rgb : Generator Color.Color + rgb = + map3 Color.rgb (int 0 255) (int 0 255) (int 0 255) + + hsl : Generator Color.Color + hsl = + map3 Color.hsl (map degrees (int 0 360)) (float 0 1) (float 0 1) +-} +map3 : (a -> b -> c -> d) -> Generator a -> Generator b -> Generator c -> Generator d +map3 func (Generator genA) (Generator genB) (Generator genC) = + Generator <| \seed0 -> + let + (a, seed1) = genA seed0 + (b, seed2) = genB seed1 + (c, seed3) = genC seed2 + in + (func a b c, seed3) + + +{-| Combine four generators. +-} +map4 : (a -> b -> c -> d -> e) -> Generator a -> Generator b -> Generator c -> Generator d -> Generator e +map4 func (Generator genA) (Generator genB) (Generator genC) (Generator genD) = + Generator <| \seed0 -> + let + (a, seed1) = genA seed0 + (b, seed2) = genB seed1 + (c, seed3) = genC seed2 + (d, seed4) = genD seed3 + in + (func a b c d, seed4) + + +{-| Combine five generators. +-} +map5 : (a -> b -> c -> d -> e -> f) -> Generator a -> Generator b -> Generator c -> Generator d -> Generator e -> Generator f +map5 func (Generator genA) (Generator genB) (Generator genC) (Generator genD) (Generator genE) = + Generator <| \seed0 -> + let + (a, seed1) = genA seed0 + (b, seed2) = genB seed1 + (c, seed3) = genC seed2 + (d, seed4) = genD seed3 + (e, seed5) = genE seed4 + in + (func a b c d e, seed5) + + +{-| Chain random operations, threading through the seed. In the following +example, we will generate a random letter by putting together uppercase and +lowercase letters. + + letter : Generator Char + letter = + bool + |> andThen upperOrLower + + upperOrLower : Bool -> Generator Char + upperOrLower b = + if b then uppercaseLetter else lowercaseLetter + + -- bool : Generator Bool + -- uppercaseLetter : Generator Char + -- lowercaseLetter : Generator Char +-} +andThen : (a -> Generator b) -> Generator a -> Generator b +andThen callback (Generator generate) = + Generator <| \seed -> + let + (result, newSeed) = + generate seed + + (Generator genB) = + callback result + in + genB newSeed + + + +-- IMPLEMENTATION + + +{-| A `Generator` is like a recipe for generating certain random values. So a +`Generator Int` describes how to generate integers and a `Generator String` +describes how to generate strings. + +To actually *run* a generator and produce the random values, you need to use +functions like [`generate`](#generate) and [`initialSeed`](#initialSeed). +-} +type Generator a = + Generator (Seed -> (a, Seed)) + + +type State = State Int Int + + +{-| A `Seed` is the source of randomness in this whole system. Whenever +you want to use a generator, you need to pair it with a seed. +-} +type Seed = + Seed + { state : State + , next : State -> (Int, State) + , split : State -> (State, State) + , range : State -> (Int,Int) + } + + +{-| Generate a random value as specified by a given `Generator`. + +In the following example, we are trying to generate a number between 0 and 100 +with the `int 0 100` generator. Each time we call `step` we need to provide a +seed. This will produce a random number and a *new* seed to use if we want to +run other generators later. + +So here it is done right, where we get a new seed from each `step` call and +thread that through. + + seed0 = initialSeed 31415 + + -- step (int 0 100) seed0 ==> (42, seed1) + -- step (int 0 100) seed1 ==> (31, seed2) + -- step (int 0 100) seed2 ==> (99, seed3) + +Notice that we use different seeds on each line. This is important! If you use +the same seed, you get the same results. + + -- step (int 0 100) seed0 ==> (42, seed1) + -- step (int 0 100) seed0 ==> (42, seed1) + -- step (int 0 100) seed0 ==> (42, seed1) +-} +step : Generator a -> Seed -> (a, Seed) +step (Generator generator) seed = + generator seed + + +{-| Create a “seed” of randomness which makes it possible to +generate random values. If you use the same seed many times, it will result +in the same thing every time! A good way to get an unexpected seed is to use +the current time. +-} +initialSeed : Int -> Seed +initialSeed n = + Seed + { state = initState n + , next = next + , split = split + , range = range + } + + +{-| Produce the initial generator state. Distinct arguments should be likely +to produce distinct generator states. +-} +initState : Int -> State +initState seed = + let + s = max seed -seed + q = s // (magicNum6-1) + s1 = s % (magicNum6-1) + s2 = q % (magicNum7-1) + in + State (s1+1) (s2+1) + + +magicNum0 = 40014 +magicNum1 = 53668 +magicNum2 = 12211 +magicNum3 = 52774 +magicNum4 = 40692 +magicNum5 = 3791 +magicNum6 = 2147483563 +magicNum7 = 2147483399 +magicNum8 = 2147483562 + + +next : State -> (Int, State) +next (State state1 state2) = + -- Div always rounds down and so random numbers are biased + -- ideally we would use division that rounds towards zero so + -- that in the negative case it rounds up and in the positive case + -- it rounds down. Thus half the time it rounds up and half the time it + -- rounds down + let + k1 = state1 // magicNum1 + rawState1 = magicNum0 * (state1 - k1 * magicNum1) - k1 * magicNum2 + newState1 = if rawState1 < 0 then rawState1 + magicNum6 else rawState1 + k2 = state2 // magicNum3 + rawState2 = magicNum4 * (state2 - k2 * magicNum3) - k2 * magicNum5 + newState2 = if rawState2 < 0 then rawState2 + magicNum7 else rawState2 + z = newState1 - newState2 + newZ = if z < 1 then z + magicNum8 else z + in + (newZ, State newState1 newState2) + + +split : State -> (State, State) +split (State s1 s2 as std) = + let + new_s1 = + if s1 == magicNum6-1 then 1 else s1 + 1 + + new_s2 = + if s2 == 1 then magicNum7-1 else s2 - 1 + + (State t1 t2) = + Tuple.second (next std) + in + (State new_s1 t2, State t1 new_s2) + + +range : State -> (Int,Int) +range _ = + (0, magicNum8) + + + +-- MANAGER + + +{-| Create a command that will generate random values. + +Read more about how to use this in your programs in [The Elm Architecture +tutorial][arch] which has a section specifically [about random values][rand]. + +[arch]: https://evancz.gitbooks.io/an-introduction-to-elm/content/architecture/index.html +[rand]: https://evancz.gitbooks.io/an-introduction-to-elm/content/architecture/effects/random.html +-} +generate : (a -> msg) -> Generator a -> Cmd msg +generate tagger generator = + command (Generate (map tagger generator)) + + +type MyCmd msg = Generate (Generator msg) + + +cmdMap : (a -> b) -> MyCmd a -> MyCmd b +cmdMap func (Generate generator) = + Generate (map func generator) + + +init : Task Never Seed +init = + Time.now + |> Task.andThen (\t -> Task.succeed (initialSeed (round t))) + + +onEffects : Platform.Router msg Never -> List (MyCmd msg) -> Seed -> Task Never Seed +onEffects router commands seed = + case commands of + [] -> + Task.succeed seed + + Generate generator :: rest -> + let + (value, newSeed) = + step generator seed + in + Platform.sendToApp router value + |> Task.andThen (\_ -> onEffects router rest newSeed) + + +onSelfMsg : Platform.Router msg Never -> Never -> Seed -> Task Never Seed +onSelfMsg _ _ seed = + Task.succeed seed diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm new file mode 100644 index 0000000..2d58ecf --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm @@ -0,0 +1,148 @@ +module Regex exposing + ( Regex + , regex, escape, caseInsensitive + , HowMany(..), Match + , contains, find, replace, split + ) + +{-| A library for working with regular expressions. It uses [the +same kind of regular expressions accepted by JavaScript](https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions). + +# Create +@docs Regex, regex, escape, caseInsensitive + +# Helpful Data Structures + +These data structures are needed to help define functions like [`find`](#find) +and [`replace`](#replace). + +@docs HowMany, Match + +# Use +@docs contains, find, replace, split + +-} + +import Maybe exposing (Maybe) +import Native.Regex + + +{-| A regular expression, describing a certain set of strings. +-} +type Regex = Regex + + +{-| Escape strings to be regular expressions, making all special characters +safe. So `regex (escape "^a+")` will match exactly `"^a+"` instead of a series +of `a`’s that start at the beginning of the line. +-} +escape : String -> String +escape = + Native.Regex.escape + + +{-| Create a Regex that matches patterns [as specified in JavaScript](https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions#Writing_a_Regular_Expression_Pattern). + +Be careful to escape backslashes properly! For example, `"\w"` is escaping the +letter `w` which is probably not what you want. You probably want `"\\w"` +instead, which escapes the backslash. +-} +regex : String -> Regex +regex = + Native.Regex.regex + + + +{-| Make a regex case insensitive -} +caseInsensitive : Regex -> Regex +caseInsensitive = + Native.Regex.caseInsensitive + + +{-| Check to see if a Regex is contained in a string. + + contains (regex "123") "12345" == True + contains (regex "b+") "aabbcc" == True + + contains (regex "789") "12345" == False + contains (regex "z+") "aabbcc" == False +-} +contains : Regex -> String -> Bool +contains = + Native.Regex.contains + + +{-| A `Match` represents all of the details about a particular match in a string. +Here are details on each field: + + * `match` — the full string of the match. + * `submatches` — a regex might have [subpatterns, surrounded by + parentheses](https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Parenthesized_Substring_Matches). + If there are N subpatterns, there will be N elements in the `submatches` list. + Each submatch in this list is a `Maybe` because not all subpatterns may trigger. + For example, `(regex "(a+)|(b+)")` will either match many `a`’s or + many `b`’s, but never both. + * `index` — the index of the match in the original string. + * `number` — if you find many matches, you can think of each one + as being labeled with a `number` starting at one. So the first time you + find a match, that is match `number` one. Second time is match `number` two. + This is useful when paired with `replace All` if replacement is dependent on how + many times a pattern has appeared before. +-} +type alias Match = + { match : String + , submatches : List (Maybe String) + , index : Int + , number : Int + } + + +{-| `HowMany` is used to specify how many matches you want to make. So +`replace All` would replace every match, but `replace (AtMost 2)` would +replace at most two matches (i.e. zero, one, two, but never three or more). +-} +type HowMany = All | AtMost Int + + +{-| Find matches in a string: + + findTwoCommas = find (AtMost 2) (regex ",") + + -- map .index (findTwoCommas "a,b,c,d,e") == [1,3] + -- map .index (findTwoCommas "a b c d e") == [] + + places = find All (regex "[oi]n a (\\w+)") "I am on a boat in a lake." + + -- map .match places == ["on a boat", "in a lake"] + -- map .submatches places == [ [Just "boat"], [Just "lake"] ] +-} +find : HowMany -> Regex -> String -> List Match +find = + Native.Regex.find + + +{-| Replace matches. The function from `Match` to `String` lets +you use the details of a specific match when making replacements. + + devowel = replace All (regex "[aeiou]") (\_ -> "") + + -- devowel "The quick brown fox" == "Th qck brwn fx" + + reverseWords = replace All (regex "\\w+") (\{match} -> String.reverse match) + + -- reverseWords "deliver mined parts" == "reviled denim strap" +-} +replace : HowMany -> Regex -> (Match -> String) -> String -> String +replace = + Native.Regex.replace + + +{-| Split a string, using the regex as the separator. + + split (AtMost 1) (regex ",") "tom,99,90,85" == ["tom","99,90,85"] + + split All (regex ",") "a,b,c,d" == ["a","b","c","d"] +-} +split : HowMany -> Regex -> String -> List String +split = + Native.Regex.split diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm new file mode 100644 index 0000000..61c678c --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm @@ -0,0 +1,210 @@ +module Result exposing + ( Result(..) + , withDefault + , map, map2, map3, map4, map5 + , andThen + , toMaybe, fromMaybe, mapError + ) + +{-| A `Result` is the result of a computation that may fail. This is a great +way to manage errors in Elm. + +# Type and Constructors +@docs Result + +# Mapping +@docs map, map2, map3, map4, map5 + +# Chaining +@docs andThen + +# Handling Errors +@docs withDefault, toMaybe, fromMaybe, mapError +-} + +import Maybe exposing ( Maybe(Just, Nothing) ) + + +{-| A `Result` is either `Ok` meaning the computation succeeded, or it is an +`Err` meaning that there was some failure. +-} +type Result error value + = Ok value + | Err error + + +{-| If the result is `Ok` return the value, but if the result is an `Err` then +return a given default value. The following examples try to parse integers. + + Result.withDefault 0 (String.toInt "123") == 123 + Result.withDefault 0 (String.toInt "abc") == 0 +-} +withDefault : a -> Result x a -> a +withDefault def result = + case result of + Ok a -> + a + + Err _ -> + def + + +{-| Apply a function to a result. If the result is `Ok`, it will be converted. +If the result is an `Err`, the same error value will propagate through. + + map sqrt (Ok 4.0) == Ok 2.0 + map sqrt (Err "bad input") == Err "bad input" +-} +map : (a -> value) -> Result x a -> Result x value +map func ra = + case ra of + Ok a -> Ok (func a) + Err e -> Err e + + +{-| Apply a function to two results, if both results are `Ok`. If not, +the first argument which is an `Err` will propagate through. + + map2 (+) (String.toInt "1") (String.toInt "2") == Ok 3 + map2 (+) (String.toInt "1") (String.toInt "y") == Err "could not convert string 'y' to an Int" + map2 (+) (String.toInt "x") (String.toInt "y") == Err "could not convert string 'x' to an Int" +-} +map2 : (a -> b -> value) -> Result x a -> Result x b -> Result x value +map2 func ra rb = + case (ra,rb) of + (Ok a, Ok b) -> Ok (func a b) + (Err x, _) -> Err x + (_, Err x) -> Err x + + +{-|-} +map3 : (a -> b -> c -> value) -> Result x a -> Result x b -> Result x c -> Result x value +map3 func ra rb rc = + case (ra,rb,rc) of + (Ok a, Ok b, Ok c) -> Ok (func a b c) + (Err x, _, _) -> Err x + (_, Err x, _) -> Err x + (_, _, Err x) -> Err x + + +{-|-} +map4 : (a -> b -> c -> d -> value) -> Result x a -> Result x b -> Result x c -> Result x d -> Result x value +map4 func ra rb rc rd = + case (ra,rb,rc,rd) of + (Ok a, Ok b, Ok c, Ok d) -> Ok (func a b c d) + (Err x, _, _, _) -> Err x + (_, Err x, _, _) -> Err x + (_, _, Err x, _) -> Err x + (_, _, _, Err x) -> Err x + + +{-|-} +map5 : (a -> b -> c -> d -> e -> value) -> Result x a -> Result x b -> Result x c -> Result x d -> Result x e -> Result x value +map5 func ra rb rc rd re = + case (ra,rb,rc,rd,re) of + (Ok a, Ok b, Ok c, Ok d, Ok e) -> Ok (func a b c d e) + (Err x, _, _, _, _) -> Err x + (_, Err x, _, _, _) -> Err x + (_, _, Err x, _, _) -> Err x + (_, _, _, Err x, _) -> Err x + (_, _, _, _, Err x) -> Err x + + +{-| Chain together a sequence of computations that may fail. It is helpful +to see its definition: + + andThen : (a -> Result e b) -> Result e a -> Result e b + andThen callback result = + case result of + Ok value -> callback value + Err msg -> Err msg + +This means we only continue with the callback if things are going well. For +example, say you need to use (`toInt : String -> Result String Int`) to parse +a month and make sure it is between 1 and 12: + + toValidMonth : Int -> Result String Int + toValidMonth month = + if month >= 1 && month <= 12 + then Ok month + else Err "months must be between 1 and 12" + + toMonth : String -> Result String Int + toMonth rawString = + toInt rawString + |> andThen toValidMonth + + -- toMonth "4" == Ok 4 + -- toMonth "9" == Ok 9 + -- toMonth "a" == Err "cannot parse to an Int" + -- toMonth "0" == Err "months must be between 1 and 12" + +This allows us to come out of a chain of operations with quite a specific error +message. It is often best to create a custom type that explicitly represents +the exact ways your computation may fail. This way it is easy to handle in your +code. +-} +andThen : (a -> Result x b) -> Result x a -> Result x b +andThen callback result = + case result of + Ok value -> + callback value + + Err msg -> + Err msg + + +{-| Transform an `Err` value. For example, say the errors we get have too much +information: + + parseInt : String -> Result ParseError Int + + type alias ParseError = + { message : String + , code : Int + , position : (Int,Int) + } + + mapError .message (parseInt "123") == Ok 123 + mapError .message (parseInt "abc") == Err "char 'a' is not a number" +-} +mapError : (x -> y) -> Result x a -> Result y a +mapError f result = + case result of + Ok v -> + Ok v + + Err e -> + Err (f e) + + +{-| Convert to a simpler `Maybe` if the actual error message is not needed or +you need to interact with some code that primarily uses maybes. + + parseInt : String -> Result ParseError Int + + maybeParseInt : String -> Maybe Int + maybeParseInt string = + toMaybe (parseInt string) +-} +toMaybe : Result x a -> Maybe a +toMaybe result = + case result of + Ok v -> Just v + Err _ -> Nothing + + +{-| Convert from a simple `Maybe` to interact with some code that primarily +uses `Results`. + + parseInt : String -> Maybe Int + + resultParseInt : String -> Result String Int + resultParseInt string = + fromMaybe ("error parsing string: " ++ toString string) (parseInt string) +-} +fromMaybe : x -> Maybe a -> Result x a +fromMaybe err maybe = + case maybe of + Just v -> Ok v + Nothing -> Err err diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm new file mode 100644 index 0000000..9b1914a --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm @@ -0,0 +1,168 @@ +module Set exposing + ( Set + , empty, singleton, insert, remove + , isEmpty, member, size + , foldl, foldr, map + , filter, partition + , union, intersect, diff + , toList, fromList + ) + +{-| A set of unique values. The values can be any comparable type. This +includes `Int`, `Float`, `Time`, `Char`, `String`, and tuples or lists +of comparable types. + +Insert, remove, and query operations all take *O(log n)* time. + +# Sets +@docs Set + +# Build +@docs empty, singleton, insert, remove + +# Query +@docs isEmpty, member, size + +# Combine +@docs union, intersect, diff + +# Lists +@docs toList, fromList + +# Transform +@docs map, foldl, foldr, filter, partition + +-} + +import Basics exposing ((<|)) +import Dict as Dict +import List as List + + +{-| Represents a set of unique values. So `(Set Int)` is a set of integers and +`(Set String)` is a set of strings. +-} +type Set t = + Set_elm_builtin (Dict.Dict t ()) + + +{-| Create an empty set. +-} +empty : Set a +empty = + Set_elm_builtin Dict.empty + + +{-| Create a set with one value. +-} +singleton : comparable -> Set comparable +singleton k = + Set_elm_builtin <| Dict.singleton k () + + +{-| Insert a value into a set. +-} +insert : comparable -> Set comparable -> Set comparable +insert k (Set_elm_builtin d) = + Set_elm_builtin <| Dict.insert k () d + + +{-| Remove a value from a set. If the value is not found, no changes are made. +-} +remove : comparable -> Set comparable -> Set comparable +remove k (Set_elm_builtin d) = + Set_elm_builtin <| Dict.remove k d + + +{-| Determine if a set is empty. +-} +isEmpty : Set a -> Bool +isEmpty (Set_elm_builtin d) = + Dict.isEmpty d + + +{-| Determine if a value is in a set. +-} +member : comparable -> Set comparable -> Bool +member k (Set_elm_builtin d) = + Dict.member k d + + +{-| Determine the number of elements in a set. +-} +size : Set a -> Int +size (Set_elm_builtin d) = + Dict.size d + + +{-| Get the union of two sets. Keep all values. +-} +union : Set comparable -> Set comparable -> Set comparable +union (Set_elm_builtin d1) (Set_elm_builtin d2) = + Set_elm_builtin <| Dict.union d1 d2 + + +{-| Get the intersection of two sets. Keeps values that appear in both sets. +-} +intersect : Set comparable -> Set comparable -> Set comparable +intersect (Set_elm_builtin d1) (Set_elm_builtin d2) = + Set_elm_builtin <| Dict.intersect d1 d2 + + +{-| Get the difference between the first set and the second. Keeps values +that do not appear in the second set. +-} +diff : Set comparable -> Set comparable -> Set comparable +diff (Set_elm_builtin d1) (Set_elm_builtin d2) = + Set_elm_builtin <| Dict.diff d1 d2 + + +{-| Convert a set into a list, sorted from lowest to highest. +-} +toList : Set comparable -> List comparable +toList (Set_elm_builtin d) = + Dict.keys d + + +{-| Convert a list into a set, removing any duplicates. +-} +fromList : List comparable -> Set comparable +fromList xs = List.foldl insert empty xs + + +{-| Fold over the values in a set, in order from lowest to highest. +-} +foldl : (comparable -> b -> b) -> b -> Set comparable -> b +foldl f b (Set_elm_builtin d) = + Dict.foldl (\k _ b -> f k b) b d + + +{-| Fold over the values in a set, in order from highest to lowest. +-} +foldr : (comparable -> b -> b) -> b -> Set comparable -> b +foldr f b (Set_elm_builtin d) = + Dict.foldr (\k _ b -> f k b) b d + + +{-| Map a function onto a set, creating a new set with no duplicates. +-} +map : (comparable -> comparable2) -> Set comparable -> Set comparable2 +map f s = fromList (List.map f (toList s)) + + +{-| Create a new set consisting only of elements which satisfy a predicate. +-} +filter : (comparable -> Bool) -> Set comparable -> Set comparable +filter p (Set_elm_builtin d) = + Set_elm_builtin <| Dict.filter (\k _ -> p k) d + + +{-| Create two new sets; the first consisting of elements which satisfy a +predicate, the second consisting of elements which do not. +-} +partition : (comparable -> Bool) -> Set comparable -> (Set comparable, Set comparable) +partition p (Set_elm_builtin d) = + let + (p1, p2) = Dict.partition (\k _ -> p k) d + in + (Set_elm_builtin p1, Set_elm_builtin p2) diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm new file mode 100644 index 0000000..a648e8d --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm @@ -0,0 +1,464 @@ +module String exposing + ( isEmpty, length, reverse, repeat + , cons, uncons, fromChar, append, concat, split, join, words, lines + , slice, left, right, dropLeft, dropRight + , contains, startsWith, endsWith, indexes, indices + , toInt, toFloat, toList, fromList + , toUpper, toLower, pad, padLeft, padRight, trim, trimLeft, trimRight + , map, filter, foldl, foldr, any, all + ) + +{-| A built-in representation for efficient string manipulation. String literals +are enclosed in `"double quotes"`. Strings are *not* lists of characters. + +# Basics +@docs isEmpty, length, reverse, repeat + +# Building and Splitting +@docs cons, uncons, fromChar, append, concat, split, join, words, lines + +# Get Substrings +@docs slice, left, right, dropLeft, dropRight + +# Check for Substrings +@docs contains, startsWith, endsWith, indexes, indices + +# Conversions +@docs toInt, toFloat, toList, fromList + +# Formatting +Cosmetic operations such as padding with extra characters or trimming whitespace. + +@docs toUpper, toLower, + pad, padLeft, padRight, + trim, trimLeft, trimRight + +# Higher-Order Functions +@docs map, filter, foldl, foldr, any, all +-} + +import Native.String +import Char +import Maybe exposing (Maybe) +import Result exposing (Result) + + +{-| Determine if a string is empty. + + isEmpty "" == True + isEmpty "the world" == False +-} +isEmpty : String -> Bool +isEmpty = + Native.String.isEmpty + + +{-| Add a character to the beginning of a string. + + cons 'T' "he truth is out there" == "The truth is out there" +-} +cons : Char -> String -> String +cons = + Native.String.cons + + +{-| Create a string from a given character. + + fromChar 'a' == "a" +-} +fromChar : Char -> String +fromChar char = + cons char "" + + +{-| Split a non-empty string into its head and tail. This lets you +pattern match on strings exactly as you would with lists. + + uncons "abc" == Just ('a',"bc") + uncons "" == Nothing +-} +uncons : String -> Maybe (Char, String) +uncons = + Native.String.uncons + + +{-| Append two strings. You can also use [the `(++)` operator](Basics#++) +to do this. + + append "butter" "fly" == "butterfly" +-} +append : String -> String -> String +append = + Native.String.append + + +{-| Concatenate many strings into one. + + concat ["never","the","less"] == "nevertheless" +-} +concat : List String -> String +concat = + Native.String.concat + + +{-| Get the length of a string. + + length "innumerable" == 11 + length "" == 0 + +-} +length : String -> Int +length = + Native.String.length + + +{-| Transform every character in a string + + map (\c -> if c == '/' then '.' else c) "a/b/c" == "a.b.c" +-} +map : (Char -> Char) -> String -> String +map = + Native.String.map + + +{-| Keep only the characters that satisfy the predicate. + + filter isDigit "R2-D2" == "22" +-} +filter : (Char -> Bool) -> String -> String +filter = + Native.String.filter + + +{-| Reverse a string. + + reverse "stressed" == "desserts" +-} +reverse : String -> String +reverse = + Native.String.reverse + + +{-| Reduce a string from the left. + + foldl cons "" "time" == "emit" +-} +foldl : (Char -> b -> b) -> b -> String -> b +foldl = + Native.String.foldl + + +{-| Reduce a string from the right. + + foldr cons "" "time" == "time" +-} +foldr : (Char -> b -> b) -> b -> String -> b +foldr = + Native.String.foldr + + +{-| Split a string using a given separator. + + split "," "cat,dog,cow" == ["cat","dog","cow"] + split "/" "home/evan/Desktop/" == ["home","evan","Desktop", ""] + +Use [`Regex.split`](Regex#split) if you need something more flexible. +-} +split : String -> String -> List String +split = + Native.String.split + + +{-| Put many strings together with a given separator. + + join "a" ["H","w","ii","n"] == "Hawaiian" + join " " ["cat","dog","cow"] == "cat dog cow" + join "/" ["home","evan","Desktop"] == "home/evan/Desktop" +-} +join : String -> List String -> String +join = + Native.String.join + + +{-| Repeat a string *n* times. + + repeat 3 "ha" == "hahaha" +-} +repeat : Int -> String -> String +repeat = + Native.String.repeat + + +{-| Take a substring given a start and end index. Negative indexes +are taken starting from the *end* of the list. + + slice 7 9 "snakes on a plane!" == "on" + slice 0 6 "snakes on a plane!" == "snakes" + slice 0 -7 "snakes on a plane!" == "snakes on a" + slice -6 -1 "snakes on a plane!" == "plane" +-} +slice : Int -> Int -> String -> String +slice = + Native.String.slice + + +{-| Take *n* characters from the left side of a string. + + left 2 "Mulder" == "Mu" +-} +left : Int -> String -> String +left = + Native.String.left + + +{-| Take *n* characters from the right side of a string. + + right 2 "Scully" == "ly" +-} +right : Int -> String -> String +right = + Native.String.right + + +{-| Drop *n* characters from the left side of a string. + + dropLeft 2 "The Lone Gunmen" == "e Lone Gunmen" +-} +dropLeft : Int -> String -> String +dropLeft = + Native.String.dropLeft + + +{-| Drop *n* characters from the right side of a string. + + dropRight 2 "Cigarette Smoking Man" == "Cigarette Smoking M" +-} +dropRight : Int -> String -> String +dropRight = + Native.String.dropRight + + +{-| Pad a string on both sides until it has a given length. + + pad 5 ' ' "1" == " 1 " + pad 5 ' ' "11" == " 11 " + pad 5 ' ' "121" == " 121 " +-} +pad : Int -> Char -> String -> String +pad = + Native.String.pad + + +{-| Pad a string on the left until it has a given length. + + padLeft 5 '.' "1" == "....1" + padLeft 5 '.' "11" == "...11" + padLeft 5 '.' "121" == "..121" +-} +padLeft : Int -> Char -> String -> String +padLeft = + Native.String.padLeft + + +{-| Pad a string on the right until it has a given length. + + padRight 5 '.' "1" == "1...." + padRight 5 '.' "11" == "11..." + padRight 5 '.' "121" == "121.." +-} +padRight : Int -> Char -> String -> String +padRight = + Native.String.padRight + + +{-| Get rid of whitespace on both sides of a string. + + trim " hats \n" == "hats" +-} +trim : String -> String +trim = + Native.String.trim + + +{-| Get rid of whitespace on the left of a string. + + trimLeft " hats \n" == "hats \n" +-} +trimLeft : String -> String +trimLeft = + Native.String.trimLeft + + +{-| Get rid of whitespace on the right of a string. + + trimRight " hats \n" == " hats" +-} +trimRight : String -> String +trimRight = + Native.String.trimRight + + +{-| Break a string into words, splitting on chunks of whitespace. + + words "How are \t you? \n Good?" == ["How","are","you?","Good?"] +-} +words : String -> List String +words = + Native.String.words + + +{-| Break a string into lines, splitting on newlines. + + lines "How are you?\nGood?" == ["How are you?", "Good?"] +-} +lines : String -> List String +lines = + Native.String.lines + + +{-| Convert a string to all upper case. Useful for case-insensitive comparisons +and VIRTUAL YELLING. + + toUpper "skinner" == "SKINNER" +-} +toUpper : String -> String +toUpper = + Native.String.toUpper + + +{-| Convert a string to all lower case. Useful for case-insensitive comparisons. + + toLower "X-FILES" == "x-files" +-} +toLower : String -> String +toLower = + Native.String.toLower + + +{-| Determine whether *any* characters satisfy a predicate. + + any isDigit "90210" == True + any isDigit "R2-D2" == True + any isDigit "heart" == False +-} +any : (Char -> Bool) -> String -> Bool +any = + Native.String.any + + +{-| Determine whether *all* characters satisfy a predicate. + + all isDigit "90210" == True + all isDigit "R2-D2" == False + all isDigit "heart" == False +-} +all : (Char -> Bool) -> String -> Bool +all = + Native.String.all + + +{-| See if the second string contains the first one. + + contains "the" "theory" == True + contains "hat" "theory" == False + contains "THE" "theory" == False + +Use [`Regex.contains`](Regex#contains) if you need something more flexible. +-} +contains : String -> String -> Bool +contains = + Native.String.contains + + +{-| See if the second string starts with the first one. + + startsWith "the" "theory" == True + startsWith "ory" "theory" == False +-} +startsWith : String -> String -> Bool +startsWith = + Native.String.startsWith + + +{-| See if the second string ends with the first one. + + endsWith "the" "theory" == False + endsWith "ory" "theory" == True +-} +endsWith : String -> String -> Bool +endsWith = + Native.String.endsWith + + +{-| Get all of the indexes for a substring in another string. + + indexes "i" "Mississippi" == [1,4,7,10] + indexes "ss" "Mississippi" == [2,5] + indexes "needle" "haystack" == [] +-} +indexes : String -> String -> List Int +indexes = + Native.String.indexes + + +{-| Alias for `indexes`. -} +indices : String -> String -> List Int +indices = + Native.String.indexes + + +{-| Try to convert a string into an int, failing on improperly formatted strings. + + String.toInt "123" == Ok 123 + String.toInt "-42" == Ok -42 + String.toInt "3.1" == Err "could not convert string '3.1' to an Int" + String.toInt "31a" == Err "could not convert string '31a' to an Int" + +If you are extracting a number from some raw user input, you will typically +want to use [`Result.withDefault`](Result#withDefault) to handle bad data: + + Result.withDefault 0 (String.toInt "42") == 42 + Result.withDefault 0 (String.toInt "ab") == 0 +-} +toInt : String -> Result String Int +toInt = + Native.String.toInt + + +{-| Try to convert a string into a float, failing on improperly formatted strings. + + String.toFloat "123" == Ok 123.0 + String.toFloat "-42" == Ok -42.0 + String.toFloat "3.1" == Ok 3.1 + String.toFloat "31a" == Err "could not convert string '31a' to a Float" + +If you are extracting a number from some raw user input, you will typically +want to use [`Result.withDefault`](Result#withDefault) to handle bad data: + + Result.withDefault 0 (String.toFloat "42.5") == 42.5 + Result.withDefault 0 (String.toFloat "cats") == 0 +-} +toFloat : String -> Result String Float +toFloat = + Native.String.toFloat + + +{-| Convert a string to a list of characters. + + toList "abc" == ['a','b','c'] +-} +toList : String -> List Char +toList = + Native.String.toList + + +{-| Convert a list of characters into a String. Can be useful if you +want to create a string primarily by consing, perhaps for decoding +something. + + fromList ['a','b','c'] == "abc" +-} +fromList : List Char -> String +fromList = + Native.String.fromList + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm new file mode 100644 index 0000000..64e9642 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm @@ -0,0 +1,278 @@ +effect module Task where { command = MyCmd } exposing + ( Task + , succeed, fail + , map, map2, map3, map4, map5 + , sequence + , andThen + , onError, mapError + , perform, attempt + ) + +{-| Tasks make it easy to describe asynchronous operations that may fail, like +HTTP requests or writing to a database. For more information, see the [Elm +documentation on Tasks](http://guide.elm-lang.org/error_handling/task.html). + +# Basics +@docs Task, succeed, fail + +# Mapping +@docs map, map2, map3, map4, map5 + +# Chaining +@docs andThen, sequence + +# Errors +@docs onError, mapError + +# Commands +@docs perform, attempt + +-} + +import Basics exposing (Never, (|>), (<<)) +import List exposing ((::)) +import Maybe exposing (Maybe(Just,Nothing)) +import Native.Scheduler +import Platform +import Platform.Cmd exposing (Cmd) +import Result exposing (Result(Ok,Err)) + + + +{-| Represents asynchronous effects that may fail. It is useful for stuff like +HTTP. + +For example, maybe we have a task with the type (`Task String User`). This means +that when we perform the task, it will either fail with a `String` message or +succeed with a `User`. So this could represent a task that is asking a server +for a certain user. +-} +type alias Task err ok = + Platform.Task err ok + + + +-- BASICS + + +{-| A task that succeeds immediately when run. + + succeed 42 -- results in 42 +-} +succeed : a -> Task x a +succeed = + Native.Scheduler.succeed + + +{-| A task that fails immediately when run. + + fail "file not found" : Task String a +-} +fail : x -> Task x a +fail = + Native.Scheduler.fail + + + +-- MAPPING + + +{-| Transform a task. + + map sqrt (succeed 9) -- succeed 3 +-} +map : (a -> b) -> Task x a -> Task x b +map func taskA = + taskA + |> andThen (\a -> succeed (func a)) + + +{-| Put the results of two tasks together. If either task fails, the whole +thing fails. It also runs in order so the first task will be completely +finished before the second task starts. + + map2 (+) (succeed 9) (succeed 3) -- succeed 12 +-} +map2 : (a -> b -> result) -> Task x a -> Task x b -> Task x result +map2 func taskA taskB = + taskA + |> andThen (\a -> taskB + |> andThen (\b -> succeed (func a b))) + + +{-|-} +map3 : (a -> b -> c -> result) -> Task x a -> Task x b -> Task x c -> Task x result +map3 func taskA taskB taskC = + taskA + |> andThen (\a -> taskB + |> andThen (\b -> taskC + |> andThen (\c -> succeed (func a b c)))) + + +{-|-} +map4 : (a -> b -> c -> d -> result) -> Task x a -> Task x b -> Task x c -> Task x d -> Task x result +map4 func taskA taskB taskC taskD = + taskA + |> andThen (\a -> taskB + |> andThen (\b -> taskC + |> andThen (\c -> taskD + |> andThen (\d -> succeed (func a b c d))))) + + +{-|-} +map5 : (a -> b -> c -> d -> e -> result) -> Task x a -> Task x b -> Task x c -> Task x d -> Task x e -> Task x result +map5 func taskA taskB taskC taskD taskE = + taskA + |> andThen (\a -> taskB + |> andThen (\b -> taskC + |> andThen (\c -> taskD + |> andThen (\d -> taskE + |> andThen (\e -> succeed (func a b c d e)))))) + + +{-| Start with a list of tasks, and turn them into a single task that returns a +list. The tasks will be run in order one-by-one and if any task fails the whole +sequence fails. + + sequence [ succeed 1, succeed 2 ] -- succeed [ 1, 2 ] + +This can be useful if you need to make a bunch of HTTP requests one-by-one. +-} +sequence : List (Task x a) -> Task x (List a) +sequence tasks = + case tasks of + [] -> + succeed [] + + task :: remainingTasks -> + map2 (::) task (sequence remainingTasks) + + + +-- CHAINING + + +{-| Chain together a task and a callback. The first task will run, and if it is +successful, you give the result to the callback resulting in another task. This +task then gets run. + + succeed 2 + |> andThen (\n -> succeed (n + 2)) + -- succeed 4 + +This is useful for chaining tasks together. Maybe you need to get a user from +your servers *and then* lookup their picture once you know their name. +-} +andThen : (a -> Task x b) -> Task x a -> Task x b +andThen = + Native.Scheduler.andThen + + +-- ERRORS + +{-| Recover from a failure in a task. If the given task fails, we use the +callback to recover. + + fail "file not found" + |> onError (\msg -> succeed 42) + -- succeed 42 + + succeed 9 + |> onError (\msg -> succeed 42) + -- succeed 9 +-} +onError : (x -> Task y a) -> Task x a -> Task y a +onError = + Native.Scheduler.onError + + +{-| Transform the error value. This can be useful if you need a bunch of error +types to match up. + + type Error = Http Http.Error | WebGL WebGL.Error + + getResources : Task Error Resource + getResources = + sequence [ mapError Http serverTask, mapError WebGL textureTask ] +-} +mapError : (x -> y) -> Task x a -> Task y a +mapError convert task = + task + |> onError (fail << convert) + + + +-- COMMANDS + + +type MyCmd msg = + Perform (Task Never msg) + + +{-| The only way to *do* things in Elm is to give commands to the Elm runtime. +So we describe some complex behavior with a `Task` and then command the runtime +to `perform` that task. For example, getting the current time looks like this: + + import Task + import Time exposing (Time) + + type Msg = Click | NewTime Time + + update : Msg -> Model -> Model + update msg model = + case msg of + Click -> + ( model, Task.perform NewTime Time.now ) + + NewTime time -> + ... +-} +perform : (a -> msg) -> Task Never a -> Cmd msg +perform toMessage task = + command (Perform (map toMessage task)) + + +{-| Command the Elm runtime to attempt a task that might fail! +-} +attempt : (Result x a -> msg) -> Task x a -> Cmd msg +attempt resultToMessage task = + command (Perform ( + task + |> andThen (succeed << resultToMessage << Ok) + |> onError (succeed << resultToMessage << Err) + )) + + +cmdMap : (a -> b) -> MyCmd a -> MyCmd b +cmdMap tagger (Perform task) = + Perform (map tagger task) + + + +-- MANAGER + + +init : Task Never () +init = + succeed () + + +onEffects : Platform.Router msg Never -> List (MyCmd msg) -> () -> Task Never () +onEffects router commands state = + map + (\_ -> ()) + (sequence (List.map (spawnCmd router) commands)) + + +onSelfMsg : Platform.Router msg Never -> Never -> () -> Task Never () +onSelfMsg _ _ _ = + succeed () + + +spawnCmd : Platform.Router msg Never -> MyCmd msg -> Task x () +spawnCmd router (Perform task) = + Native.Scheduler.spawn ( + task + |> andThen (Platform.sendToApp router) + ) + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm new file mode 100644 index 0000000..b50cdfe --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm @@ -0,0 +1,243 @@ +effect module Time where { subscription = MySub } exposing + ( Time + , now, every + , millisecond, second, minute, hour + , inMilliseconds, inSeconds, inMinutes, inHours + ) + +{-| Library for working with time. + +# Time +@docs Time, now, every + +# Units +@docs millisecond, second, minute, hour, + inMilliseconds, inSeconds, inMinutes, inHours + +-} + + +import Basics exposing (..) +import Dict +import List exposing ((::)) +import Maybe exposing (Maybe(..)) +import Native.Scheduler +import Native.Time +import Platform +import Platform.Sub exposing (Sub) +import Task exposing (Task) + + + +-- TIMES + + +{-| Type alias to make it clearer when you are working with time values. +Using the `Time` helpers like `second` and `inSeconds` instead of raw numbers +is very highly recommended. +-} +type alias Time = Float + + +{-| Get the `Time` at the moment when this task is run. +-} +now : Task x Time +now = + Native.Time.now + + +{-| Subscribe to the current time. First you provide an interval describing how +frequently you want updates. Second, you give a tagger that turns a time into a +message for your `update` function. So if you want to hear about the current +time every second, you would say something like this: + + type Msg = Tick Time | ... + + subscriptions model = + every second Tick + +Check out the [Elm Architecture Tutorial][arch] for more info on how +subscriptions work. + +[arch]: https://github.com/evancz/elm-architecture-tutorial/ + +**Note:** this function is not for animation! You need to use something based +on `requestAnimationFrame` to get smooth animations. This is based on +`setInterval` which is better for recurring tasks like “check on something +every 30 seconds”. +-} +every : Time -> (Time -> msg) -> Sub msg +every interval tagger = + subscription (Every interval tagger) + + + +-- UNITS + + +{-| Units of time, making it easier to specify things like a half-second +`(500 * millisecond)` without remembering Elm’s underlying units of time. +-} +millisecond : Time +millisecond = + 1 + + +{-|-} +second : Time +second = + 1000 * millisecond + + +{-|-} +minute : Time +minute = + 60 * second + + +{-|-} +hour : Time +hour = + 60 * minute + + +{-|-} +inMilliseconds : Time -> Float +inMilliseconds t = + t + + +{-|-} +inSeconds : Time -> Float +inSeconds t = + t / second + + +{-|-} +inMinutes : Time -> Float +inMinutes t = + t / minute + + +{-|-} +inHours : Time -> Float +inHours t = + t / hour + + + +-- SUBSCRIPTIONS + + +type MySub msg = + Every Time (Time -> msg) + + +subMap : (a -> b) -> MySub a -> MySub b +subMap f (Every interval tagger) = + Every interval (f << tagger) + + + +-- EFFECT MANAGER + + +type alias State msg = + { taggers : Taggers msg + , processes : Processes + } + + +type alias Processes = + Dict.Dict Time Platform.ProcessId + + +type alias Taggers msg = + Dict.Dict Time (List (Time -> msg)) + + +init : Task Never (State msg) +init = + Task.succeed (State Dict.empty Dict.empty) + + +onEffects : Platform.Router msg Time -> List (MySub msg) -> State msg -> Task Never (State msg) +onEffects router subs {processes} = + let + newTaggers = + List.foldl addMySub Dict.empty subs + + leftStep interval taggers (spawnList, existingDict, killTask) = + (interval :: spawnList, existingDict, killTask) + + bothStep interval taggers id (spawnList, existingDict, killTask) = + (spawnList, Dict.insert interval id existingDict, killTask) + + rightStep _ id (spawnList, existingDict, killTask) = + ( spawnList + , existingDict + , Native.Scheduler.kill id + |> Task.andThen (\_ -> killTask) + ) + + (spawnList, existingDict, killTask) = + Dict.merge + leftStep + bothStep + rightStep + newTaggers + processes + ([], Dict.empty, Task.succeed ()) + in + killTask + |> Task.andThen (\_ -> spawnHelp router spawnList existingDict) + |> Task.andThen (\newProcesses -> Task.succeed (State newTaggers newProcesses)) + + +addMySub : MySub msg -> Taggers msg -> Taggers msg +addMySub (Every interval tagger) state = + case Dict.get interval state of + Nothing -> + Dict.insert interval [tagger] state + + Just taggers -> + Dict.insert interval (tagger :: taggers) state + + +spawnHelp : Platform.Router msg Time -> List Time -> Processes -> Task.Task x Processes +spawnHelp router intervals processes = + case intervals of + [] -> + Task.succeed processes + + interval :: rest -> + let + spawnTimer = + Native.Scheduler.spawn (setInterval interval (Platform.sendToSelf router interval)) + + spawnRest id = + spawnHelp router rest (Dict.insert interval id processes) + in + spawnTimer + |> Task.andThen spawnRest + + +onSelfMsg : Platform.Router msg Time -> Time -> State msg -> Task Never (State msg) +onSelfMsg router interval state = + case Dict.get interval state.taggers of + Nothing -> + Task.succeed state + + Just taggers -> + let + tellTaggers time = + Task.sequence (List.map (\tagger -> Platform.sendToApp router (tagger time)) taggers) + in + now + |> Task.andThen tellTaggers + |> Task.andThen (\_ -> Task.succeed state) + + +setInterval : Time -> Task Never () -> Task x Never +setInterval = + Native.Time.setInterval_ diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm new file mode 100644 index 0000000..ab4c401 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm @@ -0,0 +1,61 @@ +module Tuple exposing + ( first, second + , mapFirst, mapSecond + ) + +{-| Some helpers for working with 2-tuples. + +**Note:** For larger chunks of data, it is best to switch to using records. So +instead of representing a 3D point as `(3,4,5)` and wondering why there are no +helper functions, represent it as `{ x = 3, y = 4, z = 5 }` and use all the +built-in syntax for records. + +@docs first, second, mapFirst, mapSecond + +-} + + + +{-| Extract the first value from a tuple. + + first (3, 4) == 3 + first ("john", "doe") == "john" +-} +first : (a1, a2) -> a1 +first (x,_) = + x + + +{-| Extract the second value from a tuple. + + second (3, 4) == 4 + second ("john", "doe") == "doe" +-} +second : (a1, a2) -> a2 +second (_,y) = + y + + +{-| Transform the first value in a tuple. + + import String + + mapFirst String.reverse ("stressed", 16) == ("desserts", 16) + mapFirst String.length ("stressed", 16) == (8, 16) +-} +mapFirst : (a -> b) -> (a, a2) -> (b, a2) +mapFirst func (x,y) = + (func x, y) + + +{-| Transform the second value in a tuple. + + import String + + mapSecond sqrt ("stressed", 16) == ("stressed", 4) + mapSecond (\x -> x + 1) ("stressed", 16) == ("stressed", 17) +-} +mapSecond : (a -> b) -> (a1, a) -> (a1, b) +mapSecond func (x,y) = + (x, func y) + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm new file mode 100644 index 0000000..17e1bf9 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm @@ -0,0 +1,40 @@ +module Main exposing (..) + +import Basics exposing (..) +import ElmTest exposing (..) + +import Test.Array as Array +import Test.Basics as Basics +import Test.Bitwise as Bitwise +import Test.Char as Char +import Test.CodeGen as CodeGen +import Test.Dict as Dict +import Test.Equality as Equality +import Test.Json as Json +import Test.List as List +import Test.Result as Result +import Test.Set as Set +import Test.String as String +import Test.Regex as Regex + +tests : Test +tests = + suite "Elm Standard Library Tests" + [ Array.tests + , Basics.tests + , Bitwise.tests + , Char.tests + , CodeGen.tests + , Dict.tests + , Equality.tests + , Json.tests + , List.tests + , Result.tests + , Set.tests + , String.tests + , Regex.tests + ] + + +main = + runSuite tests diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm new file mode 100644 index 0000000..c907f05 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm @@ -0,0 +1,90 @@ +module Test.Array exposing (tests) + +import Array +import Basics exposing (..) +import List +import List exposing ((::)) +import Maybe exposing (..) +import Native.Array + +import ElmTest exposing (..) + +mergeSplit : Int -> Array.Array a -> Array.Array a +mergeSplit n arr = + let left = Array.slice 0 n arr + right = Array.slice n (Array.length arr) arr + in Array.append left right + +holeArray : Array.Array Int +holeArray = List.foldl mergeSplit (Array.fromList [0..100]) [0..100] + +mapArray: Array.Array a -> Array.Array a +mapArray array = + Array.indexedMap (\i el -> + case (Array.get i array) of + Just x -> x + Nothing -> el + ) array + +tests : Test +tests = + let creationTests = suite "Creation" + [ test "empty" <| assertEqual Array.empty (Array.fromList []) + , test "initialize" <| assertEqual (Array.initialize 4 identity) (Array.fromList [0,1,2,3]) + , test "initialize 2" <| assertEqual (Array.initialize 4 (\n -> n*n)) (Array.fromList [0,1,4,9]) + , test "initialize 3" <| assertEqual (Array.initialize 4 (always 0)) (Array.fromList [0,0,0,0]) + , test "initialize Empty" <| assertEqual (Array.initialize 0 identity) Array.empty + , test "initialize 4" <| assertEqual (Array.initialize 2 (always 0)) (Array.fromList [0,0]) + , test "initialize negative" <| assertEqual (Array.initialize -1 identity) Array.empty + , test "repeat" <| assertEqual (Array.repeat 5 40) (Array.fromList [40,40,40,40,40]) + , test "repeat 2" <| assertEqual (Array.repeat 5 0) (Array.fromList [0,0,0,0,0]) + , test "repeat 3" <| assertEqual (Array.repeat 3 "cat") (Array.fromList ["cat","cat","cat"]) + , test "fromList" <| assertEqual (Array.fromList []) Array.empty + ] + basicsTests = suite "Basics" + [ test "length" <| assertEqual 3 (Array.length (Array.fromList [1,2,3])) + , test "length - Long" <| assertEqual 10000 (Array.length (Array.repeat 10000 0)) + , test "push" <| assertEqual (Array.fromList [1,2,3]) (Array.push 3 (Array.fromList [1,2])) + , test "append" <| assertEqual [42,42,81,81,81] (Array.toList (Array.append (Array.repeat 2 42) (Array.repeat 3 81))) + , test "appendEmpty 1" <| assertEqual [1..33] (Array.toList (Array.append Array.empty (Array.fromList [1..33]))) + , test "appendEmpty 2" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..33]) Array.empty)) + , test "appendSmall 1" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..30]) (Array.fromList [31..33]))) + , test "appendSmall 2" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..3]) (Array.fromList [4..33]))) + , test "appendAndSlice" <| assertEqual [0..100] (Array.toList holeArray) + ] + getAndSetTests = suite "Get and Set" + [ test "get" <| assertEqual (Just 2) (Array.get 1 (Array.fromList [3,2,1])) + , test "get 2" <| assertEqual Nothing (Array.get 5 (Array.fromList [3,2,1])) + , test "get 3" <| assertEqual Nothing (Array.get -1 (Array.fromList [3,2,1])) + , test "set" <| assertEqual (Array.fromList [1,7,3]) (Array.set 1 7 (Array.fromList [1,2,3])) + ] + takingArraysApartTests = suite "Taking Arrays Apart" + [ test "toList" <| assertEqual [3,5,8] (Array.toList (Array.fromList [3,5,8])) + , test "toIndexedList" <| assertEqual [(0,"cat"), (1,"dog")] (Array.toIndexedList (Array.fromList ["cat","dog"])) + , test "slice 1" <| assertEqual (Array.fromList [0,1,2]) (Array.slice 0 3 (Array.fromList [0,1,2,3,4])) + , test "slice 2" <| assertEqual (Array.fromList [1,2,3]) (Array.slice 1 4 (Array.fromList [0,1,2,3,4])) + , test "slice 3" <| assertEqual (Array.fromList [1,2,3]) (Array.slice 1 -1 (Array.fromList [0,1,2,3,4])) + , test "slice 4" <| assertEqual (Array.fromList [2]) (Array.slice -3 -2 (Array.fromList [0,1,2,3,4])) + , test "slice 5" <| assertEqual 63 (Array.length <| Array.slice 65 (65 + 63) <| Array.fromList [1..200]) + ] + mappingAndFoldingTests = suite "Mapping and Folding" + [ test "map" <| assertEqual (Array.fromList [1,2,3]) (Array.map sqrt (Array.fromList [1,4,9])) + , test "indexedMap 1" <| assertEqual (Array.fromList [0,5,10]) (Array.indexedMap (*) (Array.fromList [5,5,5])) + , test "indexedMap 2" <| assertEqual [0..99] (Array.toList (Array.indexedMap always (Array.repeat 100 0))) + , test "large indexed map" <| assertEqual [0..32768 - 1] (Array.toList <| mapArray <| Array.initialize 32768 identity) + , test "foldl 1" <| assertEqual [3,2,1] (Array.foldl (::) [] (Array.fromList [1,2,3])) + , test "foldl 2" <| assertEqual 33 (Array.foldl (+) 0 (Array.repeat 33 1)) + , test "foldr 1" <| assertEqual 15 (Array.foldr (+) 0 (Array.repeat 3 5)) + , test "foldr 2" <| assertEqual [1,2,3] (Array.foldr (::) [] (Array.fromList [1,2,3])) + , test "foldr 3" <| assertEqual 53 (Array.foldr (-) 54 (Array.fromList [10,11])) + , test "filter" <| assertEqual (Array.fromList [2,4,6]) (Array.filter (\x -> x % 2 == 0) (Array.fromList [1..6])) + ] + + nativeTests = suite "Conversion to JS Arrays" + [ test "jsArrays" <| assertEqual (Array.fromList [1..1100]) (Native.Array.fromJSArray (Native.Array.toJSArray (Array.fromList [1..1100]))) + ] + in + suite "Array" + [ creationTests, basicsTests, getAndSetTests + , takingArraysApartTests, mappingAndFoldingTests, nativeTests + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm new file mode 100644 index 0000000..6e4869c --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm @@ -0,0 +1,158 @@ +module Test.Basics exposing (tests) + +import Array +import Basics exposing (..) +import Date +import Set +import Dict +import ElmTest exposing (..) + +tests : Test +tests = + let comparison = + suite "Comparison" + [ test "max" <| assertEqual 42 (max 32 42) + , test "min" <| assertEqual 42 (min 91 42) + , test "clamp low" <| assertEqual 10 (clamp 10 20 5) + , test "clamp mid" <| assertEqual 15 (clamp 10 20 15) + , test "clamp high" <| assertEqual 20 (clamp 10 20 25) + , test "5 < 6" <| assertEqual True (5 < 6) + , test "6 < 5" <| assertEqual False (6 < 5) + , test "6 < 6" <| assertEqual False (6 < 6) + , test "5 > 6" <| assertEqual False (5 > 6) + , test "6 > 5" <| assertEqual True (6 > 5) + , test "6 > 6" <| assertEqual False (6 > 6) + , test "5 <= 6" <| assertEqual True (5 <= 6) + , test "6 <= 5" <| assertEqual False (6 <= 5) + , test "6 <= 6" <| assertEqual True (6 <= 6) + , test "compare \"A\" \"B\"" <| assertEqual LT (compare "A" "B") + , test "compare 'f' 'f'" <| assertEqual EQ (compare 'f' 'f') + , test "compare (1, 2, 3, 4, 5, 6) (0, 1, 2, 3, 4, 5)" <| assertEqual GT (compare (1, 2, 3, 4, 5, 6) (0, 1, 2, 3, 4, 5)) + , test "compare ['a'] ['b']" <| assertEqual LT (compare ['a'] ['b']) + , test "array equality" <| assertEqual (Array.fromList [1,1,1,1]) (Array.repeat 4 1) + , test "set equality" <| assertEqual (Set.fromList [1,2]) (Set.fromList [2,1]) + , test "dict equality" <| assertEqual (Dict.fromList [(1,1),(2,2)]) (Dict.fromList [(2,2),(1,1)]) + , test "char equality" <| assertNotEqual '0' '饑' + , test "date equality" <| assertEqual (Date.fromString "2/7/1992") (Date.fromString "2/7/1992") + , test "date equality" <| assertNotEqual (Date.fromString "11/16/1995") (Date.fromString "2/7/1992") + ] + toStringTests = suite "toString Tests" + [ test "toString Int" <| assertEqual "42" (toString 42) + , test "toString Float" <| assertEqual "42.52" (toString 42.52) + , test "toString Char" <| assertEqual "'c'" (toString 'c') + , test "toString Char single quote" <| assertEqual "'\\''" (toString '\'') + , test "toString Char double quote" <| assertEqual "'\"'" (toString '"') + , test "toString String single quote" <| assertEqual "\"not 'escaped'\"" (toString "not 'escaped'") + , test "toString String double quote" <| assertEqual "\"are \\\"escaped\\\"\"" (toString "are \"escaped\"") + ] + trigTests = suite "Trigonometry Tests" + [ test "radians 0" <| assertEqual 0 (radians 0) + , test "radians positive" <| assertEqual 5 (radians 5) + , test "radians negative" <| assertEqual -5 (radians -5) + , test "degrees 0" <| assertEqual 0 (degrees 0) + , test "degrees 90" <| assert (abs (1.57 - degrees 90) < 0.01) -- This should test to enough precision to know if anything's breaking + , test "degrees -145" <| assert (abs (-2.53 - degrees -145) < 0.01) -- This should test to enough precision to know if anything's breaking + , test "turns 0" <| assertEqual 0 (turns 0) + , test "turns 8" <| assert (abs (50.26 - turns 8) < 0.01) -- This should test to enough precision to know if anything's breaking + , test "turns -133" <| assert (abs (-835.66 - turns -133) < 0.01) -- This should test to enough precision to know if anything's breaking + , test "fromPolar (0, 0)" <| assertEqual (0, 0) (fromPolar (0, 0)) + , test "fromPolar (1, 0)" <| assertEqual (1, 0) (fromPolar (1, 0)) + , test "fromPolar (0, 1)" <| assertEqual (0, 0) (fromPolar (0, 1)) + , test "fromPolar (1, 1)" <| assert (let (x, y) = fromPolar (1, 1) in 0.54 - x < 0.01 && 0.84 - y < 0.01) + , test "toPolar (0, 0)" <| assertEqual (0, 0) (toPolar (0, 0)) + , test "toPolar (1, 0)" <| assertEqual (1, 0) (toPolar (1, 0)) + , test "toPolar (0, 1)" <| assert (let (r, theta) = toPolar (0, 1) in r == 1 && abs (1.57 - theta) < 0.01) + , test "toPolar (1, 1)" <| assert (let (r, theta) = toPolar (1, 1) in abs (1.41 - r) < 0.01 && abs (0.78 - theta) < 0.01) + , test "cos" <| assertEqual 1 (cos 0) + , test "sin" <| assertEqual 0 (sin 0) + , test "tan" <| assert (abs (12.67 - tan 17.2) < 0.01) + , test "acos" <| assert (abs (3.14 - acos -1) < 0.01) + , test "asin" <| assert (abs (0.30 - asin 0.3) < 0.01) + , test "atan" <| assert (abs (1.57 - atan 4567.8) < 0.01) + , test "atan2" <| assert (abs (1.55 - atan2 36 0.65) < 0.01) + , test "pi" <| assert (abs (3.14 - pi) < 0.01) + ] + basicMathTests = suite "Basic Math Tests" + [ test "add float" <| assertEqual 159 (155.6 + 3.4) + , test "add int" <| assertEqual 17 ((round 10) + (round 7)) + , test "subtract float" <| assertEqual -6.3 (1 - 7.3) + , test "subtract int" <| assertEqual 1130 ((round 9432) - (round 8302)) + , test "multiply float" <| assertEqual 432 (96 * 4.5) + , test "multiply int" <| assertEqual 90 ((round 10) * (round 9)) + , test "divide float" <| assertEqual 13.175 (527 / 40) + , test "divide int" <| assertEqual 23 (70 // 3) + , test "7 `rem` 2" <| assertEqual 1 (7 `rem` 2) + , test "-1 `rem` 4" <| assertEqual -1 (-1 `rem` 4) + , test "7 % 2" <| assertEqual 1 (7 % 2) + , test "-1 % 4" <| assertEqual 3 (-1 % 4) + , test "3^2" <| assertEqual 9 (3^2) + , test "sqrt" <| assertEqual 9 (sqrt 81) + , test "negate 42" <| assertEqual -42 (negate 42) + , test "negate -42" <| assertEqual 42 (negate -42) + , test "negate 0" <| assertEqual 0 (negate 0) + , test "abs -25" <| assertEqual 25 (abs -25) + , test "abs 76" <| assertEqual 76 (abs 76) + , test "logBase 10 100" <| assertEqual 2 (logBase 10 100) + , test "logBase 2 256" <| assertEqual 8 (logBase 2 256) + , test "e" <| assert (abs (2.72 - e) < 0.01) + ] + booleanTests = suite "Boolean Tests" + [ test "False && False" <| assertEqual False (False && False) + , test "False && True" <| assertEqual False (False && True) + , test "True && False" <| assertEqual False (True && False) + , test "True && True" <| assertEqual True (True && True) + , test "False || False" <| assertEqual False (False || False) + , test "False || True" <| assertEqual True (False || True) + , test "True || False" <| assertEqual True (True || False) + , test "True || True" <| assertEqual True (True || True) + , test "xor False False" <| assertEqual False (xor False False) + , test "xor False True" <| assertEqual True (xor False True) + , test "xor True False" <| assertEqual True (xor True False) + , test "xor True True" <| assertEqual False (xor True True) + , test "not True" <| assertEqual False (not True) + , test "not False" <| assertEqual True (not False) + ] + conversionTests = suite "Conversion Tests" + [ test "round 0.6" <| assertEqual 1 (round 0.6) + , test "round 0.4" <| assertEqual 0 (round 0.4) + , test "round 0.5" <| assertEqual 1 (round 0.5) + , test "truncate -2367.9267" <| assertEqual -2367 (truncate -2367.9267) + , test "floor -2367.9267" <| assertEqual -2368 (floor -2367.9267) + , test "ceiling 37.2" <| assertEqual 38 (ceiling 37.2) + , test "toFloat 25" <| assertEqual 25 (toFloat 25) + ] + miscTests = suite "Miscellaneous Tests" + [ test "isNaN (0/0)" <| assertEqual True (isNaN (0/0)) + , test "isNaN (sqrt -1)" <| assertEqual True (isNaN (sqrt -1)) + , test "isNaN (1/0)" <| assertEqual False (isNaN (1/0)) + , test "isNaN 1" <| assertEqual False (isNaN 1) + , test "isInfinite (0/0)" <| assertEqual False (isInfinite (0/0)) + , test "isInfinite (sqrt -1)" <| assertEqual False (isInfinite (sqrt -1)) + , test "isInfinite (1/0)" <| assertEqual True (isInfinite (1/0)) + , test "isInfinite 1" <| assertEqual False (isInfinite 1) + , test "\"hello\" ++ \"world\"" <| assertEqual "helloworld" ("hello" ++ "world") + , test "[1, 1, 2] ++ [3, 5, 8]" <| assertEqual [1, 1, 2, 3, 5, 8] ([1, 1, 2] ++ [3, 5, 8]) + , test "fst (1, 2)" <| assertEqual 1 (fst (1, 2)) + , test "snd (1, 2)" <| assertEqual 2 (snd (1, 2)) + ] + higherOrderTests = suite "Higher Order Helpers Tests" + [ test "identity 'c'" <| assertEqual 'c' (identity 'c') + , test "always 42 ()" <| assertEqual 42 (always 42 ()) + , test "<|" <| assertEqual 9 (identity <| 3 + 6) + , test "|>" <| assertEqual 9 (3 + 6 |> identity) + , test "<<" <| assertEqual True (not << xor True <| True) + , test ">>" <| assertEqual True (True |> xor True >> not) + , test "flip" <| assertEqual 10 ((flip (//)) 2 20) + , test "curry" <| assertEqual 1 ((curry (\(a, b) -> a + b)) -5 6) + , test "uncurry" <| assertEqual 1 ((uncurry (+)) (-5, 6)) + ] + in + suite "Basics" + [ comparison + , toStringTests + , trigTests + , basicMathTests + , booleanTests + , miscTests + , higherOrderTests + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm new file mode 100644 index 0000000..881b255 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm @@ -0,0 +1,50 @@ +module Test.Bitwise exposing (tests) + +import Basics exposing (..) +import Bitwise + +import ElmTest exposing (..) + +tests : Test +tests = + suite "Bitwise" + [ suite "and" + [ test "and with 32 bit integers" <| assertEqual 1 (Bitwise.and 5 3) + , test "and with 0 as first argument" <| assertEqual 0 (Bitwise.and 0 1450) + , test "and with 0 as second argument" <| assertEqual 0 (Bitwise.and 274 0) + , test "and with -1 as first argument" <| assertEqual 2671 (Bitwise.and -1 2671) + , test "and with -1 as second argument" <| assertEqual 96 (Bitwise.and 96 -1) + ] + , suite "or" + [ test "or with 32 bit integers" <| assertEqual 15 (Bitwise.or 9 14) + , test "or with 0 as first argument" <| assertEqual 843 (Bitwise.or 0 843) + , test "or with 0 as second argument" <| assertEqual 19 (Bitwise.or 19 0) + , test "or with -1 as first argument" <| assertEqual -1 (Bitwise.or -1 2360) + , test "or with -1 as second argument" <| assertEqual -1 (Bitwise.or 3 -1) + ] + , suite "xor" + [ test "xor with 32 bit integers" <| assertEqual 604 (Bitwise.xor 580 24) + , test "xor with 0 as first argument" <| assertEqual 56 (Bitwise.xor 0 56) + , test "xor with 0 as second argument" <| assertEqual -268 (Bitwise.xor -268 0) + , test "xor with -1 as first argument" <| assertEqual -25 (Bitwise.xor -1 24) + , test "xor with -1 as second argument" <| assertEqual 25601 (Bitwise.xor -25602 -1) + ] + , suite "complement" + [ test "complement a positive" <| assertEqual -9 (Bitwise.complement 8) + , test "complement a negative" <| assertEqual 278 (Bitwise.complement -279) + ] + , suite "shiftLeft" + [ test "8 `shiftLeft` 1 == 16" <| assertEqual 16 (Bitwise.shiftLeft 8 1) + , test "8 `shiftLeft` 2 == 32" <| assertEqual 32 (Bitwise.shiftLeft 8 2) + ] + , suite "shiftRight" + [ test "32 `shiftRight` 1 == 16" <| assertEqual 16 (Bitwise.shiftRight 32 1) + , test "32 `shiftRight` 2 == 8" <| assertEqual 8 (Bitwise.shiftRight 32 2) + , test "-32 `shiftRight` 1 == -16" <| assertEqual -16 (Bitwise.shiftRight -32 1) + ] + , suite "shiftRightLogical" + [ test "32 `shiftRightLogical` 1 == 16" <| assertEqual 16 (Bitwise.shiftRightLogical 32 1) + , test "32 `shiftRightLogical` 2 == 8" <| assertEqual 8 (Bitwise.shiftRightLogical 32 2) + , test "-32 `shiftRightLogical` 1 == 2147483632" <| assertEqual 2147483632 (Bitwise.shiftRightLogical -32 1) + ] + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm new file mode 100644 index 0000000..96c4764 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm @@ -0,0 +1,93 @@ +module Test.Char exposing (tests) + +import Basics exposing (..) +import Char exposing (..) +import List + +import ElmTest exposing (..) + + +lower = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ] +upper = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ] +dec = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ] +oct = List.take 8 dec +hexLower = List.take 6 lower +hexUpper = List.take 6 upper +hex = List.append hexLower hexUpper |> List.append dec + +lowerCodes = [97..(97 + List.length lower - 1)] +upperCodes = [65..(65 + List.length upper - 1)] +decCodes = [48..(48 + List.length dec - 1)] + +oneOf : List a -> a -> Bool +oneOf = flip List.member + + +tests : Test +tests = suite "Char" + [ suite "toCode" + [ test "a-z" <| assertEqual (lowerCodes) (List.map toCode lower) + , test "A-Z" <| assertEqual (upperCodes) (List.map toCode upper) + , test "0-9" <| assertEqual (decCodes) (List.map toCode dec) + ] + + , suite "fromCode" + [ test "a-z" <| assertEqual (lower) (List.map fromCode lowerCodes) + , test "A-Z" <| assertEqual (upper) (List.map fromCode upperCodes) + , test "0-9" <| assertEqual (dec) (List.map fromCode decCodes) + ] + + , suite "toLocaleLower" + [ test "a-z" <| assertEqual (lower) (List.map toLocaleLower lower) + , test "A-Z" <| assertEqual (lower) (List.map toLocaleLower upper) + , test "0-9" <| assertEqual (dec) (List.map toLocaleLower dec) + ] + + , suite "toLocaleUpper" + [ test "a-z" <| assertEqual (upper) (List.map toLocaleUpper lower) + , test "A-Z" <| assertEqual (upper) (List.map toLocaleUpper upper) + , test "0-9" <| assertEqual (dec) (List.map toLocaleUpper dec) + ] + + , suite "toLower" + [ test "a-z" <| assertEqual (lower) (List.map toLower lower) + , test "A-Z" <| assertEqual (lower) (List.map toLower upper) + , test "0-9" <| assertEqual (dec) (List.map toLower dec) + ] + + , suite "toUpper" + [ test "a-z" <| assertEqual (upper) (List.map toUpper lower) + , test "A-Z" <| assertEqual (upper) (List.map toUpper upper) + , test "0-9" <| assertEqual (dec) (List.map toUpper dec) + ] + + , suite "isLower" + [ test "a-z" <| assertEqual (True) (List.all isLower lower) + , test "A-Z" <| assertEqual (False) (List.any isLower upper) + , test "0-9" <| assertEqual (False) (List.any isLower dec) + ] + + , suite "isUpper" + [ test "a-z" <| assertEqual (False) (List.any isUpper lower) + , test "A-Z" <| assertEqual (True) (List.all isUpper upper) + , test "0-9" <| assertEqual (False) (List.any isUpper dec) + ] + + , suite "isDigit" + [ test "a-z" <| assertEqual (False) (List.any isDigit lower) + , test "A-Z" <| assertEqual (False) (List.any isDigit upper) + , test "0-9" <| assertEqual (True) (List.all isDigit dec) + ] + + , suite "isHexDigit" + [ test "a-z" <| assertEqual (List.map (oneOf hex) lower) (List.map isHexDigit lower) + , test "A-Z" <| assertEqual (List.map (oneOf hex) upper) (List.map isHexDigit upper) + , test "0-9" <| assertEqual (True) (List.all isHexDigit dec) + ] + + , suite "isOctDigit" + [ test "a-z" <| assertEqual (False) (List.any isOctDigit lower) + , test "A-Z" <| assertEqual (False) (List.any isOctDigit upper) + , test "0-9" <| assertEqual (List.map (oneOf oct) dec) (List.map isOctDigit dec) + ] + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm new file mode 100644 index 0000000..3bc190a --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm @@ -0,0 +1,59 @@ +module Test.CodeGen exposing (tests) + +import Basics exposing (..) +import ElmTest exposing (..) + +import Maybe +import Maybe exposing (..) + + +type Wrapper a = Wrapper a + + +casePrime m' = + case m' of + Just x -> x + Nothing -> 0 + +patternPrime = + case Just 42 of + Just x' -> x' + Nothing -> 0 + +letQualified = + let (Wrapper x) = Wrapper 42 + in x + +caseQualified = + case Just 42 of + Maybe.Just x -> x + Nothing -> 0 + +caseScope : String +caseScope = + case "Not this one!" of + string -> + case "Hi" of + string -> string + +tests : Test +tests = + let primes = + suite "Primes" + [ test "case" <| assertEqual 42 (casePrime (Just 42)) + , test "pattern" <| assertEqual 42 patternPrime + ] + qualifiedPatterns = + suite "Qualified Patterns" + [ test "let" <| assertEqual 42 letQualified + , test "case" <| assertEqual 42 caseQualified + ] + scope = + suite "Scoping" + [ test "case" <| assertEqual "Hi" caseScope ] + in + suite "CodeGen" + [ primes + , qualifiedPatterns + , scope + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm new file mode 100644 index 0000000..3e97c86 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm @@ -0,0 +1,79 @@ +module Test.Dict exposing (tests) + +import Basics exposing (..) +import Dict +import List +import Maybe exposing (..) + +import ElmTest exposing (..) + +animals : Dict.Dict String String +animals = Dict.fromList [ ("Tom", "cat"), ("Jerry", "mouse") ] + +tests : Test +tests = + let buildTests = suite "build Tests" + [ test "empty" <| assertEqual (Dict.fromList []) (Dict.empty) + , test "singleton" <| assertEqual (Dict.fromList [("k","v")]) (Dict.singleton "k" "v") + , test "insert" <| assertEqual (Dict.fromList [("k","v")]) (Dict.insert "k" "v" Dict.empty) + , test "insert replace" <| assertEqual (Dict.fromList [("k","vv")]) (Dict.insert "k" "vv" (Dict.singleton "k" "v")) + , test "update" <| assertEqual (Dict.fromList [("k","vv")]) (Dict.update "k" (\v->Just "vv") (Dict.singleton "k" "v")) + , test "update Nothing" <| assertEqual Dict.empty (Dict.update "k" (\v->Nothing) (Dict.singleton "k" "v")) + , test "remove" <| assertEqual Dict.empty (Dict.remove "k" (Dict.singleton "k" "v")) + , test "remove not found" <| assertEqual (Dict.singleton "k" "v") (Dict.remove "kk" (Dict.singleton "k" "v")) + ] + queryTests = suite "query Tests" + [ test "member 1" <| assertEqual True (Dict.member "Tom" animals) + , test "member 2" <| assertEqual False (Dict.member "Spike" animals) + , test "get 1" <| assertEqual (Just "cat") (Dict.get "Tom" animals) + , test "get 2" <| assertEqual Nothing (Dict.get "Spike" animals) + , test "size of empty dictionary" <| assertEqual 0 (Dict.size Dict.empty) + , test "size of example dictionary" <| assertEqual 2 (Dict.size animals) + ] + combineTests = suite "combine Tests" + [ test "union" <| assertEqual animals (Dict.union (Dict.singleton "Jerry" "mouse") (Dict.singleton "Tom" "cat")) + , test "union collison" <| assertEqual (Dict.singleton "Tom" "cat") (Dict.union (Dict.singleton "Tom" "cat") (Dict.singleton "Tom" "mouse")) + , test "intersect" <| assertEqual (Dict.singleton "Tom" "cat") (Dict.intersect animals (Dict.singleton "Tom" "cat")) + , test "diff" <| assertEqual (Dict.singleton "Jerry" "mouse") (Dict.diff animals (Dict.singleton "Tom" "cat")) + ] + transformTests = suite "transform Tests" + [ test "filter" <| assertEqual (Dict.singleton "Tom" "cat") (Dict.filter (\k v -> k == "Tom") animals) + , test "partition" <| assertEqual (Dict.singleton "Tom" "cat", Dict.singleton "Jerry" "mouse") (Dict.partition (\k v -> k == "Tom") animals) + ] + mergeTests = + let + insertBoth key leftVal rightVal dict = + Dict.insert key (leftVal ++ rightVal) dict + s1 = + Dict.empty |> Dict.insert "u1" [ 1 ] + s2 = + Dict.empty |> Dict.insert "u2" [ 2 ] + s23 = + Dict.empty |> Dict.insert "u2" [ 3 ] + b1 = + List.map (\i -> (i, [i])) [1..10] |> Dict.fromList + b2 = + List.map (\i -> (i, [i])) [5..15] |> Dict.fromList + bExpected = + [(1,[1]),(2,[2]),(3,[3]),(4,[4]),(5,[5,5]),(6,[6,6]),(7,[7,7]),(8,[8,8]),(9,[9,9]),(10,[10,10]),(11,[11]),(12,[12]),(13,[13]),(14,[14]),(15,[15])] + in + suite "merge Tests" + [ test "merge empties" <| assertEqual (Dict.empty) + (Dict.merge Dict.insert insertBoth Dict.insert Dict.empty Dict.empty Dict.empty) + , test "merge singletons in order" <| assertEqual [("u1", [1]), ("u2", [2])] + ((Dict.merge Dict.insert insertBoth Dict.insert s1 s2 Dict.empty) |> Dict.toList) + , test "merge singletons out of order" <| assertEqual [("u1", [1]), ("u2", [2])] + ((Dict.merge Dict.insert insertBoth Dict.insert s2 s1 Dict.empty) |> Dict.toList) + , test "merge with duplicate key" <| assertEqual [("u2", [2, 3])] + ((Dict.merge Dict.insert insertBoth Dict.insert s2 s23 Dict.empty) |> Dict.toList) + , test "partially overlapping" <| assertEqual bExpected + ((Dict.merge Dict.insert insertBoth Dict.insert b1 b2 Dict.empty) |> Dict.toList) + ] + in + suite "Dict Tests" + [ buildTests + , queryTests + , combineTests + , transformTests + , mergeTests + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm new file mode 100644 index 0000000..3f3bfd7 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm @@ -0,0 +1,28 @@ +module Test.Equality exposing (tests) + +import Basics exposing (..) +import Maybe exposing (..) + +import ElmTest exposing (..) + +type Different + = A String + | B (List Int) + +tests : Test +tests = + let diffTests = suite "ADT equality" + [ test "As eq" <| assert (A "a" == A "a") + , test "Bs eq" <| assert (B [1] == B [1]) + , test "A left neq" <| assert (A "a" /= B [1]) + , test "A left neq" <| assert (B [1] /= A "a") + ] + recordTests = suite "Record equality" + [ test "empty same" <| assert ({} == {}) + , test "ctor same" <| assert ({field = Just 3} == {field = Just 3}) + , test "ctor same, special case" <| assert ({ctor = Just 3} == {ctor = Just 3}) + , test "ctor diff" <| assert ({field = Just 3} /= {field = Nothing}) + , test "ctor diff, special case" <| assert ({ctor = Just 3} /= {ctor = Nothing}) + ] + in + suite "Equality Tests" [diffTests, recordTests] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm new file mode 100644 index 0000000..907a567 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm @@ -0,0 +1,83 @@ +module Test.Json exposing (tests) + +import Basics exposing (..) +import Result exposing (..) +import Json.Decode as Json exposing ((:=)) +import String + +import ElmTest exposing (..) + + +tests : Test +tests = + suite "Json decode" + [ intTests + , customTests + ] + + +intTests : Test +intTests = + let + testInt val str = + case Json.decodeString Json.int str of + Ok _ -> + assertEqual val True + + Err _ -> + assertEqual val False + in + suite "Json decode int" + [ test "whole int" <| testInt True "4" + , test "-whole int" <| testInt True "-4" + , test "whole float" <| testInt True "4.0" + , test "-whole float" <| testInt True "-4.0" + , test "large int" <| testInt True "1801439850948" + , test "-large int" <| testInt True "-1801439850948" + , test "float" <| testInt False "4.2" + , test "-float" <| testInt False "-4.2" + , test "Infinity" <| testInt False "Infinity" + , test "-Infinity" <| testInt False "-Infinity" + , test "NaN" <| testInt False "NaN" + , test "-NaN" <| testInt False "-NaN" + , test "true" <| testInt False "true" + , test "false" <| testInt False "false" + , test "string" <| testInt False "\"string\"" + , test "object" <| testInt False "{}" + , test "null" <| testInt False "null" + , test "undefined" <| testInt False "undefined" + , test "Decoder expects object finds array, was crashing runtime." <| + assertEqual + (Err "Expecting an object but instead got: []") + (Json.decodeString (Json.dict Json.float) "[]") + ] + + +customTests : Test +customTests = + let + jsonString = + """{ "foo": "bar" }""" + + customErrorMessage = + "I want to see this message!" + + myDecoder = + Json.customDecoder ("foo" := Json.string) (\_ -> Err customErrorMessage) + + assertion = + case Json.decodeString myDecoder jsonString of + Ok _ -> + fail "expected `customDecoder` to produce a value of type Err, but got Ok" + + Err message -> + if String.contains customErrorMessage message then + pass + + else + fail <| + "expected `customDecoder` to preserve user's error message '" + ++ customErrorMessage ++ "', but instead got: " ++ message + in + test "customDecoder preserves user error messages" assertion + diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm new file mode 100644 index 0000000..cbebfdb --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm @@ -0,0 +1,165 @@ +module Test.List exposing (tests) + +import ElmTest exposing (..) + +import Basics exposing (..) +import Maybe exposing (Maybe(Nothing, Just)) +import List exposing (..) + + +tests : Test +tests = suite "List Tests" + [ testListOfN 0 + , testListOfN 1 + , testListOfN 2 + , testListOfN 5000 + ] + + +testListOfN : Int -> Test +testListOfN n = + let xs = [1..n] + xsOpp = [(-n)..(-1)] + xsNeg = foldl (::) [] xsOpp -- assume foldl and (::) work + zs = [0..n] + sumSeq k = k * (k + 1) // 2 + xsSum = sumSeq n + mid = n // 2 + in + suite (toString n ++ " elements") + [ suite "foldl" + [ test "order" <| assertEqual (n) (foldl (\x acc -> x) 0 xs) + , test "total" <| assertEqual (xsSum) (foldl (+) 0 xs) + ] + + , suite "foldr" + [ test "order" <| assertEqual (min 1 n) (foldr (\x acc -> x) 0 xs) + , test "total" <| assertEqual (xsSum) (foldl (+) 0 xs) + ] + + , suite "map" + [ test "identity" <| assertEqual (xs) (map identity xs) + , test "linear" <| assertEqual ([2..(n + 1)]) (map ((+) 1) xs) + ] + + , test "isEmpty" <| assertEqual (n == 0) (isEmpty xs) + + , test "length" <| assertEqual (n) (length xs) + + , test "reverse" <| assertEqual (xsOpp) (reverse xsNeg) + + , suite "member" + [ test "positive" <| assertEqual (True) (member n zs) + , test "negative" <| assertEqual (False) (member (n + 1) xs) + ] + + , test "head" <| + if n == 0 + then assertEqual (Nothing) (head xs) + else assertEqual (Just 1) (head xs) + + , suite "filter" + [ test "none" <| assertEqual ([]) (filter (\x -> x > n) xs) + , test "one" <| assertEqual ([n]) (filter (\z -> z == n) zs) + , test "all" <| assertEqual (xs) (filter (\x -> x <= n) xs) + ] + + , suite "take" + [ test "none" <| assertEqual ([]) (take 0 xs) + , test "some" <| assertEqual ([0..(n - 1)]) (take n zs) + , test "all" <| assertEqual (xs) (take n xs) + , test "all+" <| assertEqual (xs) (take (n + 1) xs) + ] + + , suite "drop" + [ test "none" <| assertEqual (xs) (drop 0 xs) + , test "some" <| assertEqual ([n]) (drop n zs) + , test "all" <| assertEqual ([]) (drop n xs) + , test "all+" <| assertEqual ([]) (drop (n + 1) xs) + ] + + , test "repeat" <| assertEqual (map (\x -> -1) xs) (repeat n -1) + + , test "append" <| assertEqual (xsSum * 2) (append xs xs |> foldl (+) 0) + + , test "(::)" <| assertEqual (append [-1] xs) (-1 :: xs) + + , test "concat" <| assertEqual (append xs (append zs xs)) (concat [xs, zs, xs]) + + , test "intersperse" <| assertEqual + (min -(n - 1) 0, xsSum) + (intersperse -1 xs |> foldl (\x (c1, c2) -> (c2, c1 + x)) (0, 0)) + + , suite "partition" + [ test "left" <| assertEqual (xs, []) (partition (\x -> x > 0) xs) + , test "right" <| assertEqual ([], xs) (partition (\x -> x < 0) xs) + , test "split" <| assertEqual ([mid + 1..n], [1..mid]) (partition (\x -> x > mid) xs) + ] + + , suite "map2" + [ test "same length" <| assertEqual (map ((*) 2) xs) (map2 (+) xs xs) + , test "long first" <| assertEqual (map (\x -> x * 2 - 1) xs) (map2 (+) zs xs) + , test "short first" <| assertEqual (map (\x -> x * 2 - 1) xs) (map2 (+) xs zs) + ] + + , test "unzip" <| assertEqual (xsNeg, xs) (map (\x -> (-x, x)) xs |> unzip) + + , suite "filterMap" + [ test "none" <| assertEqual ([]) (filterMap (\x -> Nothing) xs) + , test "all" <| assertEqual (xsNeg) (filterMap (\x -> Just -x) xs) + , let halve x = + if x % 2 == 0 + then Just (x // 2) + else Nothing + in + test "some" <| assertEqual ([1..mid]) (filterMap halve xs) + ] + + , suite "concatMap" + [ test "none" <| assertEqual ([]) (concatMap (\x -> []) xs) + , test "all" <| assertEqual (xsNeg) (concatMap (\x -> [-x]) xs) + ] + + , test "indexedMap" <| assertEqual (map2 (,) zs xsNeg) (indexedMap (\i x -> (i, -x)) xs) + + , test "sum" <| assertEqual (xsSum) (sum xs) + + , test "product" <| assertEqual (0) (product zs) + + , test "maximum" <| + if n == 0 + then assertEqual (Nothing) (maximum xs) + else assertEqual (Just n) (maximum xs) + + , test "minimum" <| + if n == 0 + then assertEqual (Nothing) (minimum xs) + else assertEqual (Just 1) (minimum xs) + + , suite "all" + [ test "false" <| assertEqual (False) (all (\z -> z < n) zs) + , test "true" <| assertEqual (True) (all (\x -> x <= n) xs) + ] + + , suite "any" + [ test "false" <| assertEqual (False) (any (\x -> x > n) xs) + , test "true" <| assertEqual (True) (any (\z -> z >= n) zs) + ] + + , suite "sort" + [ test "sorted" <| assertEqual (xs) (sort xs) + , test "unsorted" <| assertEqual (xsOpp) (sort xsNeg) + ] + + , suite "sortBy" + [ test "sorted" <| assertEqual (xsNeg) (sortBy negate xsNeg) + , test "unsorted" <| assertEqual (xsNeg) (sortBy negate xsOpp) + ] + + , suite "sortWith" + [ test "sorted" <| assertEqual (xsNeg) (sortWith (flip compare) xsNeg) + , test "unsorted" <| assertEqual (xsNeg) (sortWith (flip compare) xsOpp) + ] + + , test "scanl" <| assertEqual (0 :: map sumSeq xs) (scanl (+) 0 xs) + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm new file mode 100644 index 0000000..81a18ed --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm @@ -0,0 +1,46 @@ +module Test.Regex exposing (tests) + +import Basics exposing (..) + +import Regex exposing (..) + +import ElmTest exposing (..) + + +tests : Test +tests = + let simpleTests = suite "Simple Stuff" + [ test "split All" <| assertEqual ["a", "b"] (split All (regex ",") "a,b") + , test "split" <| assertEqual ["a","b,c"] (split (AtMost 1) (regex ",") "a,b,c") + , test "split idempotent" <| + let + findComma = regex "," + in + assertEqual + (split (AtMost 1) findComma "a,b,c,d,e") + (split (AtMost 1) findComma "a,b,c,d,e") + + , test "find All" <| assertEqual + ([Match "a" [] 0 1, Match "b" [] 1 2]) + (find All (regex ".") "ab") + , test "find All" <| assertEqual + ([Match "" [] 0 1]) + (find All (regex ".*") "") + + , test "replace AtMost 0" <| assertEqual "The quick brown fox" + (replace (AtMost 0) (regex "[aeiou]") (\_ -> "") "The quick brown fox") + + , test "replace AtMost 1" <| assertEqual "Th quick brown fox" + (replace (AtMost 1) (regex "[aeiou]") (\_ -> "") "The quick brown fox") + + , test "replace AtMost 2" <| assertEqual "Th qick brown fox" + (replace (AtMost 2) (regex "[aeiou]") (\_ -> "") "The quick brown fox") + + , test "replace All" <| assertEqual "Th qck brwn fx" + (replace All (regex "[aeiou]") (\_ -> "") "The quick brown fox") + + , test "replace using index" <| assertEqual "a1b3c" + (replace All (regex ",") (\match -> toString match.index) "a,b,c") + ] + in + suite "Regex" [ simpleTests ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm new file mode 100644 index 0000000..fdab503 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm @@ -0,0 +1,60 @@ +module Test.Result exposing (tests) + +import Basics exposing (..) +import Result +import Result exposing (Result(..)) +import String + +import ElmTest exposing (..) + +isEven n = + if n % 2 == 0 + then Ok n + else Err "number is odd" + +add3 a b c = + a + b + c + +add4 a b c d = + a + b + c + d + +add5 a b c d e = + a + b + c + d + e + +tests : Test +tests = + let mapTests = suite "map Tests" + [ + test "map Ok" <| assertEqual (Ok 3) (Result.map ((+) 1) (Ok 2)), + test "map Err" <| assertEqual (Err "error") (Result.map ((+) 1) (Err "error")) + ] + mapNTests = suite "mapN Tests" + [ + test "map2 Ok" <| assertEqual (Ok 3) (Result.map2 (+) (Ok 1) (Ok 2)), + test "map2 Err" <| assertEqual (Err "x") (Result.map2 (+) (Ok 1) (Err "x")), + + test "map3 Ok" <| assertEqual (Ok 6) (Result.map3 add3 (Ok 1) (Ok 2) (Ok 3)), + test "map3 Err" <| assertEqual (Err "x") (Result.map3 add3 (Ok 1) (Ok 2) (Err "x")), + + test "map4 Ok" <| assertEqual (Ok 10) (Result.map4 add4 (Ok 1) (Ok 2) (Ok 3) (Ok 4)), + test "map4 Err" <| assertEqual (Err "x") (Result.map4 add4 (Ok 1) (Ok 2) (Ok 3) (Err "x")), + + test "map5 Ok" <| assertEqual (Ok 15) (Result.map5 add5 (Ok 1) (Ok 2) (Ok 3) (Ok 4) (Ok 5)), + test "map5 Err" <| assertEqual (Err "x") (Result.map5 add5 (Ok 1) (Ok 2) (Ok 3) (Ok 4) (Err "x")) + ] + andThenTests = suite "andThen Tests" + [ + test "andThen Ok" <| assertEqual (Ok 42) ((String.toInt "42") `Result.andThen` isEven), + test "andThen first Err" <| assertEqual + (Err "could not convert string '4.2' to an Int") + (String.toInt "4.2" `Result.andThen` isEven), + test "andThen second Err" <| assertEqual + (Err "number is odd") + (String.toInt "41" `Result.andThen` isEven) + ] + in + suite "Result Tests" + [ mapTests + , mapNTests + , andThenTests + ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm new file mode 100644 index 0000000..1edcc23 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm @@ -0,0 +1,29 @@ +module Test.Set exposing (tests) + +import Basics exposing (..) + +import Set +import Set exposing (Set) +import List + +import ElmTest exposing (..) + +set : Set Int +set = Set.fromList [1..100] + +setPart1 : Set Int +setPart1 = Set.fromList [1..50] + +setPart2 : Set Int +setPart2 = Set.fromList [51..100] + +pred : Int -> Bool +pred x = x <= 50 + +tests : Test +tests = + let + queryTests = suite "query Tests" [test "size of set of 100 elements" <| assertEqual 100 (Set.size set)] + filterTests = suite "filter Tests" [test "Simple filter" <| assertEqual setPart1 <| Set.filter pred set] + partitionTests = suite "partition Tests" [test "Simple partition" <| assertEqual (setPart1, setPart2) <| Set.partition pred set] + in suite "Set Tests" [queryTests, partitionTests, filterTests] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm new file mode 100644 index 0000000..c800c43 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm @@ -0,0 +1,41 @@ +module Test.String exposing (tests) + +import Basics exposing (..) + +import List +import Maybe exposing (..) +import String + +import ElmTest exposing (..) + +tests : Test +tests = + let simpleTests = suite "Simple Stuff" + [ test "is empty" <| assert (String.isEmpty "") + , test "is not empty" <| assert (not (String.isEmpty ("the world"))) + , test "length" <| assertEqual 11 (String.length "innumerable") + , test "endsWith" (assert <| String.endsWith "ship" "spaceship") + , test "reverse" <| assertEqual "desserts" (String.reverse "stressed") + , test "repeat" <| assertEqual "hahaha" (String.repeat 3 "ha") + , test "indexes" <| assertEqual [ 0, 2 ] (String.indexes "a" "aha") + , test "empty indexes" <| assertEqual [] (String.indexes "" "aha") + ] + + combiningTests = suite "Combining Strings" + [ test "uncons non-empty" <| assertEqual (Just ('a',"bc")) (String.uncons "abc") + , test "uncons empty" <| assertEqual Nothing (String.uncons "") + , test "append 1" <| assertEqual "butterfly" (String.append "butter" "fly") + , test "append 2" <| assertEqual "butter" (String.append "butter" "") + , test "append 3" <| assertEqual "butter" (String.append "" "butter") + , test "concat" <| assertEqual "nevertheless" (String.concat ["never","the","less"]) + , test "split commas" <| assertEqual ["cat","dog","cow"] (String.split "," "cat,dog,cow") + , test "split slashes"<| assertEqual ["home","steve","Desktop", ""] (String.split "/" "home/steve/Desktop/") + , test "join spaces" <| assertEqual "cat dog cow" (String.join " " ["cat","dog","cow"]) + , test "join slashes" <| assertEqual "home/steve/Desktop" (String.join "/" ["home","steve","Desktop"]) + , test "slice 1" <| assertEqual "c" (String.slice 2 3 "abcd") + , test "slice 2" <| assertEqual "abc" (String.slice 0 3 "abcd") + , test "slice 3" <| assertEqual "abc" (String.slice 0 -1 "abcd") + , test "slice 4" <| assertEqual "cd" (String.slice -2 4 "abcd") + ] + in + suite "String" [ simpleTests, combiningTests ] diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json new file mode 100644 index 0000000..a72dbe5 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json @@ -0,0 +1,16 @@ +{ + "version": "1.1.1", + "summary": "Tests for Elm's standard libraries", + "repository": "http://github.com/elm-lang/core.git", + "license": "BSD3", + "source-directories": [ + ".", + "../src" + ], + "exposed-modules": [ ], + "native-modules": true, + "dependencies": { + "elm-community/elm-test": "1.0.0 <= v < 2.0.0" + }, + "elm-version": "0.17.0 <= v < 0.18.0" +} diff --git a/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh new file mode 100644 index 0000000..c96557b --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +cd "$(dirname "$0")" +set -e + + +elm-package install -y + +VERSION_DIR="$(ls elm-stuff/packages/elm-lang/core/)" +CORE_PACKAGE_DIR="elm-stuff/packages/elm-lang/core/$VERSION_DIR" +CORE_GIT_DIR="$(dirname $PWD)" + +echo "Linking $CORE_PACKAGE_DIR to $CORE_GIT_DIR" +rm -rf $CORE_PACKAGE_DIR +ln -s $CORE_GIT_DIR $CORE_PACKAGE_DIR + +elm-make --yes --output test.js Test.elm +node test.js diff --git a/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/.gitignore b/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/.gitignore new file mode 100644 index 0000000..e185314 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/.gitignore @@ -0,0 +1 @@ +elm-stuff \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/LICENSE b/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/LICENSE new file mode 100644 index 0000000..24bdd38 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/LICENSE @@ -0,0 +1,30 @@ +Copyright (c) 2016, Evan Czaplicki + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Evan Czaplicki nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/README.md b/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/README.md new file mode 100644 index 0000000..7d542d8 --- /dev/null +++ b/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/README.md @@ -0,0 +1,7 @@ +# Mess with the DOM + +Sometimes you want to manually set the **focus** to a particular input field. + +Other times you want to be able to control how things **scroll**. + +This library makes it possible to do these kinds of operations as tasks. diff --git a/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.acorn b/app/templates/client/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.acorn new file mode 100644 index 0000000000000000000000000000000000000000..e7b58a008f6f12c9032fcf2364a29c80632dd4fa GIT binary patch literal 188416 zcmeFabzD?m+c&zV7`i)$?(PtV?oJ7%1{k^}L_`?=reyyy4+bN)Do{rSx7y;tnD_IF?V+UtsSEo(~?Y&Ztx6%-oa7LJkyC;))~ zGztX(ASV2n2*1BKBEkXu?-Rlv^7px>M`+-`rT_aOF%W+tOhHJ2adrT%axNai?qoYb z-~@pa1Wph*LEr>|69i5WI6>e9ffEEy5I8~L1c4I-P7pXj-~@pa1Wph*LEr>|69i5W zI6>e9ffEEy5I8~L4+Q*SNG5S{NIY4%o4Y^8-z^#wde$vGJQV955snG_&vUr8m9D0Z zF3Ltz%S0FTpSdU@6xI_Jj)@8vLj}48VE#Icbn}nEpxpg~+=Zi{NG28*NWAfXwf1Kl zVX*)8%3&y>e_bxvEffuWS`6%o}ZdZB^>+v`uc<`PtryQX?k= zYG=(Iw~MB{Gwj3}?_$tU(0z4mG#H%cWCI*ajja$J3td10)dG;c^BI6SX&Vh04R#0Q z`Sk#TbF>7CE^novnDRzI0psa~yotgB{*~*&(CvEzU2h_7jqRoby35!0H>G-;z*#0Q ziW_yz5Pt_#9JHz`2O=_Q1(2G3IiOWc06<2oQ-OCaP(BlggVpcu&m1El($tWc=N>rr zX+^uu{m)ea7r7p8Wrx30y!kBwC1{KpN$kRLwS3_^FMrzXc@x zN~1>|*-opUA4rzH`Z+{nWbs4S(%-ov_l3|007aou<3%3#&T@=gQajB#N=u%^J(?zW zk!Ot7q>z6sbt@}3MQ3zhU_7tsrf6NV)FWL1nHXK6@zB8`>B)Q%265v{_p7szos-z-1an)zkTxib+a&=SH)(BKgg4r^jaSP;yz2QoK!7WExPu0Bq(Wo}17o!2(v%T)}4Q+fz+%*eD0{UWd3475aVSTV&SR7C+4=QuyPTX@w)SOWGCy?0)H($8003_wyWJZ!WY&D zxJsng%z)TvjsfqPh#w4y$NU^MnrqQULL{$ou-1K+FJ#>6=K0+gwD520%fPCjo*4v` zdCdSzdR-}CkjEDcJXxqNd7Uomg|PExpchdTUX74#1Q48iMGal??*>9P!W%H*f=7TX zslN&ysLYYAzeUSJpJm9OZ@5icYSVmLyjXukb8!8E!?0{kL*5{B;V(B4tqP9do&tB1iV9XXt6Q27B@1Nw1LT@|WjMU77I-cRVFf zYD{cF_H22T_<_3uz%iod3apGT z0Z40P*>n>HtdGp^F1#%g>A(Ms9Hb%FsqYJ6H>Dc_I7%WM z5%mLW0LzWk#=#BnDmbvgP7V-|8hZfO%rF_L384i@)UrEZ^jbL&sQBMA0}lOL>v;T3 zD=7IOgpU{ma*PlI^UM4`z=J(G7?_cG%5`B1P!IvkG(bTiI3)49D?rTNa|iI;0!sj) z=Ap#FEs|9M5zFAu3`9jFS-fir2&WWK0)8A`8^GeS6IdW?P_m z1I)>&tP# zWQRmUa~s?6iWJ7ZuuEGn0d+yrt`>7bC?JE@xI&a|d;lU|6ZOY;kK5r=Fl_4RBOW#K z@&H1ur3xr*5U#+Pkq)R(ibdZe5HFs35S9Zy=&1%sE8ZDc?#n&AxG_l;$l>7vB#*a( zfetk#P|eEd1@#gJK;`M9z4CeBV9yRni`rJHFLIUU)U?{ zB}=Dv!oIRc(bLr~ypH(BQMnX!`^md=-`R!n<5&eYK_gcpr;4k@Zp8)53g4JPyjwjt z(rqjUn9!!8zc~UR%r|3_9|1_kpZnx%k^Nl-)MEMCg z;LSnQMy*Ulco;ItqB&M3BtotmY-AhYF-yA1U74x&rf*ua9XD0278?5EMv{cO{Jv;RDht66GVZCWkt6@}^;)Yl=M6>{$Q-Z)AVJAOq=j5}e*P5{7;&nt{H%_&XGQP3I8$x~QQC_k!# zzf-H)L}OesHS0)3jp^d<2049341_qJ<1v+4@7A4*a5;xrJEu&SS)pP!H+XbB-Tnin zS@mx2_!pX*o>&_3&XAFZas#LvYNk|wisgn^WoZD&vI+};WEfH{&@kBBEgY;;3MWCO zfGLS53Q*)hHo$qVtBEf>6l4TL@k812&R!%R5 z&Z+=*@7zZKq0?KKIVf*?+TM;>i4+2GkRJI)z4*s|I5-XdJ25y81k{ip$zhz{wwJh; zKQI*XtlW8-*iyBMg7`Z*>b0*##$EMWi`>nsUq2VO6Z`Dkp;=d%-yO!jQ_tA=KP8^+ zP=M&*eltV{XfA5K+mGc#JA0GQpKL)dwRXH&-v(zv3J=b>LXpEAFDjak0RV%<5mnCz z03wfNpqwH{Hn?i+Foy7~(=92lUgmZ#;QP~J{%zKFJo(e;|fCxC#;~;8uI%q(Vuz|)w^yG#zOfz%46!kvG z(QM+wvT_$ybrAmU3A^GtRR@%bima+BBypKR=k4{QX?Q$s(oJ*6^$fmn^LZBJ=jGWM z8%C}1)(w{B=S7+ue$f=d(ATQc`dS%9TZ&+8ZWQKq+3Opcif$LQ7v(KF8ApdmSex7` zw)%9|_)EN$7yUp9Uf_($>0B8vn~BnV1#g|xS+_N3O1;|E{Y;~8DR|AVxxkoZhaxNF z?D^&{w}*zAMbD~u+q_l|iwTxn8SL5NdsCUe7;7H=UfsavE%tCI#9a9!+J^yFRls;= zdaNJ48UU*16;dp|a_e{|5m(X+H&~4G>-j9O)fPmO&gzwF6jLzQ&KKod#aJ5I+oG`H zmx8T~Y)!C*vJD0EZyygA8W;VLYMB3Y#rkW!g&~I$R&FoIdOXR>*Vg!2A!&`o*Nkpo zUDNA%g!fXvPDB6syeST`_uJ?B`sj}vg?8;0td)1Krv+V)sO&bRM!~N*bh2^>14M9) zNQT1(r(vTQk%hyreg|#So zIj90`gOCIw*SA91Zo8AZqb+Pzz%2FoWgs#OhxBUEUDC9n9a}DDMFBx0-wq@p&YkiZqN>#!scZG5K$kPoLuHUQ&` z)_`FMr))3y$+Z;v?#$Xi)I0H=`-;tYXSmsUP!%EdUWO-= z`YRXjNA{E)UqD3M%?=0y0!XfdD4hVKp%~!MRN);C1~3q!mrVVX+=RKUyT$;$mBWMJ zX6|6wr4GuhewHNF3fKoyqj3R$%qpBxuqJNWtde=DynY@m0O82rVsNK z--6TYZq#37)Cz_&h*9U7xRT-^^cKX+pY*s=^=Zjf0NIE6XIki1Im87WTViWUBOLgm zPPJ^tlY}F7XN}?;Q!vZlCegDh*w(o=7P@UyF&&O6$el0tB1v{Hd1+YWRm#aXB@Ym& z7n&+&*0Ttt7PS%(A?J1g49|jrHk}qfyJb4!7V%9jO;=AcKzb;2nlMmfOi_I_@IsFv zvA+%|o6$`n7>O)yU1aP}GC|wsq+S+Es~OhJV@Q^da$|>~Kn*_y+@?p=-jl}P=~|j^ z`PGJ4#^GCU(gnub9*>=w)UCgJimrHH)NZkJKiz9JxS=@rD$_&`7?I49qqkrZAqYCu z{q8tGHJB40#IJ(_<`m3ATC|$*Y8!rl4COm@B_Xzl0@fRIrnF&io?e!+uL|Uez;CP` z1Iapiynv1rphr9-?E#d}T0xrNp!Z^&vKed)f#_?M0+etNA}f+v1w;1xeO@AK-M^32 znmICM($n+b=Xew@7i(=a_mM*1YW~UVNIzL}?E=7&OuLtkEP4J#7f|FIyaB}V%L4%9 z2>Xg;819ZpK03UExL-L(Sb1N1LV zM|E~Z$xGeIi$+Wj{okdZMlmD7P8cb))wmhz$alvE+S^0o);q83)3%++G7tvW%FVe&zuoulHx1^rCMv>ATp093#xv6HbF^uvQU8=0 z78+q;G*R$reO{y8IKjs2ADH>RUui^WhlBUpNX9;`T!+#UN9~&n*&m?jQDG!EpU84H z1?4F@p)cHZ{#m&nv<$|C1^M}|A#y25b>&!C`0EH?w+{&xCSwC_aR`4v_eF)%ULyTa$WDUMrRr@PAag6XPyk zn$aboGjsXS-GAy@x1zwCVr5fxU-9Us&Sa@A^7feUN7t5A1^tte=wQ>1Yjs_Mw2S5G zc420ho@fZZ`FZ6CvNuh#HM>)@R5@XHUR;>)i4CBvKGI5Ux{g%aff-ek86}B*WzlKe z=d3+S$f*z!*7Rwg#AYj{nk!EmTnmt>Kk6^ZePuA)D6@b<{f{!Z#rwye`*eS5^fU=N zfRTS`^!|4;_#YZQW)37>c#JIbqqGLgs$j=VQctJqz0<>g$>8oG4)=b`;P~}68qqE@{+J2vmfIzfFy;S}!RLJ=tnU?F z5pA5rhQ;`QY6<9G|CbD|9dXy_!c~vDmA%M&oWEu8W?T#!Fxh|~Z}el(oL8M%f8gWQ z(8!(Q>YbyQIICtZ(e%~?>=zZYvn~6dzh7_{IE)?y!fEbRfD75Ts`67~29AKDd-3c9 zaoKX6ARqWx0XC_Lj}!wrucJOa$c{DJ>c<$Myqk=6W=yqR?`V6(>&L2&N6FQUM?CE9y!fD(pV z1vEOgthDg_T)Z1I3Otg{z(H2Lt5HAd0QI0WEg;sSP6lj5ea!^^2T=ngFQRGysa9ct z@RQb@H^l@YAyrzC?Rl)%Gzx&=}}lCu%;j4yNAx+ z0LXM4(cYb49AYKX1;DR~7y<~f77c(aQ#LXub0-7xL{vXeL-V`4Vs@It0d<`)5g>7Q zC;=3SuIqrM0b6SK^7ezUik;g(6RUUcsOQ)B;o$6qJ{Aa*0pyt>oGTh~qa6p&<+(V*m1<+D)iu}MT?pkP7RW^c>uC@cA+Xp9f%bfTYzvCmgc36R|seZ z;CTp;1J9qdJqf<;BC)Vj$Mf<0L*iD#W6~A^5h@kE5T6b!5V5l(+Y0gTasVO=zKxm( z#}@!C2|NcJL@5Jm13naVJMA3OtJa3|B~NJC=)L| z_?$&cPzm0vERiE6dG&sX=jl847|jpg;(l>mS$g;7$B%}Me630(_o)Bxhf#t@ShxZo zR-!6Ei?1dI!TlS6i~>L{3ixr598VS;q{@dC2Wj+!vCR?&t4K%{kj>aM0Mg{zD8QEd zo|Umy7&_V}E+fY7%{u&k@*HQi