From b41590ce3853723bad953624a6cb12b6f4ed0556 Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Sun, 10 Aug 2014 23:28:04 +0100 Subject: [PATCH] Fix and refactor modals --- auto/gui.files.go | 6 +++--- gui/app.js | 24 ++++++++++++------------ gui/index.html | 10 ++++++---- gui/modal.html | 2 +- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/auto/gui.files.go b/auto/gui.files.go index f1c8e3869..611e8c7f4 100644 --- a/auto/gui.files.go +++ b/auto/gui.files.go @@ -28,7 +28,7 @@ func init() { bs, _ = ioutil.ReadAll(gr) Assets["angular.min.js"] = bs - bs, _ = hex.DecodeString("1f8b080000096e8800ffec7d7b73db4692f8fffa1463febc216953a06c6753fbb32cfb1cd9ded3c6b15d969dbb2a45b90289a1880804183c24ab6c7df7ebee1900f3044159f1ee561d2bb1484c4f4f774f4f4f77cf03d3293bccd657797cb62cd9e870cc1eee3df89efd233ccf66ecc72c3f63611a01445ae6f1ac2ab3bc60a38273562e393b7cfbe6c3fba31f3f7e78fbfe982de2848f831d40f73c4918a12b58ce0b9e5ff028601f0bceb205548b0b5664553ee76c9e459cc1cfb3ec82e7298fd8ec0a1a633f1f7dd82dcaab8423ae249ef3b4c0e6c292cda174c6d922ab80a438251a5e1f1dbe7c73fc929a0f7676a6f77e2f92382dd92ccf2ea1edc7accc2b3e81b6d2324e2b5eff5e275581ff8bdfecde146a9e25d92c4cd8ddc76c1126050085e9599584b9fc8d403bc30abe14208b7939dcdfd9b90873565ca573602b3d6307758d60954555c247c3a66c386127c37558ccc3649df3f9b20cca3c4c8b242cf9f074bc4f88aa3c998580fe800d416e84bfa91f00038bf86cb4a8e0419ca56c74775996eb77797611473c9fb0bb0dbefad9987dde61f0d10083882fc22a298be053912ffe9387f0ec4db8a246ff7bf7f0f8fdabdd0fd9394fa1f10d750fb3ec3ce6755dada6a86a111480ec8ecbb08ce7afa0b38ad719363e1244e20704b3883f3d66c304c4b83b9c340545b51005c1ef45960ee9f935080dffd74554e6599200d2e1cb0b9e9687659e80e0159915f36c0d1d4b6c35f2a18741121625d50276d22a498400b05fb214340ab92435689f638da317f07c4fb24cda50cde7bc285ea508df341c856558b7879f78c14677045ef5b142ce5dbe8acbd1f0e3d15b821a8ef735a8862654dfb6e87a476b4252f894ed99ad2041c122cb5f86f3a5a2541c0560c2e207645b6430c292ec6c3420a8c184d1df208eea6fe5150a577c278ef72d3c1a77562da3c2b5f2fb7abf65cdd163d8dc093195f0f4ac5cb25df6e0b4addd74955915a8571017bcfc10af7856958a4cac0e42e509ce7839aa07ec7d369c12fdc5b3224ee7fc60088f449363ad6a20b563d4688951cef33ccb47f42f9429dc4fd85ff7f6e4836b45dd24e84665eba96b8b45a7b229038008b945c12531d070f060787b027bb067496c4b0aba5ab75aee3046c7f5d36e83a41a71f89e64f310a16a3162778389bc7801c5c2e8d44f81a1b73f69b6009fe21c12e6a5989864cfa9066f9eadd609273a0ed8e7eb7dbd0c671bdff3a31439d21a6ccb534ebc15766592153e3f39d59ec364c9131b7c7545237638d49ea600ecc0b1ceb3329b67c9e112e60e7025345d9530395f677909e20bedc644d93b106fcc2fbdb51d4c812f94be44c66c52abf5590e53dc51bac8643db712de1f4c71c61b8c1b7d6b15040b0a75208989273d6b551dac381be1e398b402fe3c2188429a427872ffbe39161100c009ee243ed5c73b1a8c8b3089a3d784264e23fee9ed826819b3a707f66c426c35ba8bf3bc00b6edff2ce7e1b961e50d7b723dd6d4f46e968e06cd6010fd7b2ce4345087924b4868f0eb9ad053610e93dd38d0c527e649e4ccb0569dfc5c374e88a69c9c47cf5bf56fa087f96a08eecb0b9e285e0d3c8ce25c3e07ab1de763b5144d0916e250539f9759355f62c1c77584dea328ba36c9389a7b88c8f90afc6d271d76514d44945da609f86b4e4260a2e3795c9c37a498ddd77a316a8791d905273bd744af3a1a4eef47e28d5398b294c72e6bd754190dff5fcacbcb2c3fa7a13a1ca3cd0993d170097ea9861c205b4cdd70c5b22a512e6e2853356a39c819767b41d8533339912db59602fbb8fe3c0be7e7519eada1ef0af2c7819c737e35cbc23c92c1cef5465d2786d09de7d2e6f6e009c76524ec2f94908fa8b3a3ce08c29d43b37beaf15b4cb000b9e1d21b0ccaac170bafc13e244768e2c480fa6a3e208a814e59be078a460d6d63c5cb84b05634c594291849af0a32e621c4cf629aa3a8f71202ce659873113b2332761997cbc01c113441a9d27883381c4e3ee23e5c58fa22e93e6c68aa0109d1d18b0953b96924dba5efefc1a094fc5b08d7cf0441212736fd4e9a91d91771213d995e14831672e84ddb073aa9198030e374439b875b3448237f43739e31e303d7a68aa69d74b62e1eb3bd8955029ebeafe828fdf1aae4c587ac0c1327c0dbaadc00f13c8aa017017d4361084f74b8eb7d377b75c76fe6ee7f4a4100040a5ed41d86e3907c61ca6238faccec2ecd810edeaea907828fef9f8327b32ed16375f85560298e16ac2ac233ce84878af3db322cd80cdc4e9672b0031c0c468d2305eb11f1394e14d1c4c40476e4328460b9cc58589c53f20c1c9b1c7fafc273ce42365f66f19c07ecc78aac4e94a5c392ea98a8a0caac3a43142b1655391285f3711c2618095610c91419d92d5e225aca1491d1b210011125048e2235c8d922ce8b925dc4455c06ecbf963c95893f8101ccdf1a338a364198a36c7001d82a237b19a6982cccd912fe295878964d902ac9bd89e38f0aa652741477b412344744d62f48154e2ed9bc5a61ea405085062509e77c341d3d7b0cfffdf625b8b7ff6b716fdc56825fbf1ec03fa393dff64fef8d837b77c75f7e837fa71336b8fb6030b6bdef3b6d6597af6d9000440dda0a0703886a314804ab77096ef17d36d85f859f764189a8e8d1debd87dfdf7bf4c3de9ee187338e594e87150082ee2b2278a262df6502d73d0ab7edcaf8414fa4bab9ffd110d82b6ca0e983cf32188e3c7a05ff166af0d58c527522a129c19881801e14ab0286b24348c301d3db3a817a96e97580a01ec9a71d1913129e336741aecf332487924d3cc564fac7f74738f16529a88660ca15529ae921ad31d5b1222f427a53766fe047cb0aaaa29a90a4c48cebea4933d127b235134a28589ea74784b5f77fedeed9e32b084b569a48dda22c0870d857547a76822618fcee9c8d046aa7085da213240f2cb15d77736a786c42f6e6fc832530c71ca8f4db1e6059e5a922fd8e11d1368ae382b0ff0b0d8fd60d7886a4d11891340ebfbbf551a3bb638d03820d5acc3ab4c4aca22499cccf75d7a835f168035829dddf7162c13e068f0893481336a7acfa9e9b8a26e3345fad711dee06aca3c8b0366ae4403862832e78fcd46b786ea2fce2c10f3276ffc02b2920e5d48f168501951fdc429f048257cc9d02455344ede90e97815006dd84b5637de2ed817f8ee93d6c620ccc0f143d6cb01295f436c4a880e08380285b7744777a4bcc038f1066b7c99c8f41e8c4b0ee7345462f288976a8af8b8cd43fa615689f5510a60f871d38eb6f2fd377e0edf0bcbc826a639f9afbd5dbd6b032bff260a185308878028add80fc9fc3721980ff37823efe1bbb276449106aa0061272048826140aaf8c1c5aa5b52c62c3cea6b510d0dfb606e66dfc9acdc372be84c0cb275a4b281ec366b3e000f4b9a1f8712e83f49bfcdb41536ced01507eafcf38134b30dbfa3acdc24d3f4e04353770636887432f6301805bd909188587f592d69db878b95a97576f67bf83bcf5c07c6c98017339cc16803bae7f1d832707d62f67079d1032d111fc9ec5e908a2a0a187807ad54bc745093e2739e976a93f8d116d0a69d37fee1c0a7ebc7914ea6c63ba1977d05b647929480422c29c7b8451afc4e1df9fc3b5915ac1f803a2d42c8f796134267a3c8019ac18a9b8c60e49993e74fdb1e246db4068f9d81ba5628dc63a52b21e12ac59de14254d50cda8e8d007b937404b7699c877fa1837a8ee3609bd46fb9456a2b6b45bc66ab57483db675ed3a4ac31293b2b34d36444998e0cb4b066ae02dd39da28810b9e1700be2df7b29a65b57ac85ce41ab76d505b5fdfba4db95abe6da3fa22bbd9aadca5d1b127c5b7546f69869e01969da9edbbd9523d4c2d3020ea39ddd3fc3a3b162b462a05aec01fb757650b67660762af6195467c81f9e2a13b1b8010e7292e73eebb1203d6a29db077714afb07d81d6cc28bb928b3f51a5a7662ae81305077b4404b7d5ed91c2661f10d441383befc097289703d357723a63d867299b3876c6a5a6415a8134709f7f788187a43571ca8a3417b4c4be41e4ceb3c5e85f9551f4cf3304d6f8acad113863a20a1ef783ee76989cb287fb64e3c50d3ead79bf4416c39a61887f05b2b406eac9a36ace73849010444584e95c3a94e343175012834ec9b72a5086e91646043a119b72d429704779b68a2753836fa2a5813e7195ea62900ad96d735fdeebbcdfe6b937a392069b99d3ba14dd9f9b0e7da485d431a6db35a97615b41b05fb8759628b74cd8bfb74c6dd3d24bb0f6e0df2858bf2d40ea31e4da2456ca6d823cb588cb275dddd022a0671063512023be2e5bf6ac4329d43d9bff2c161422c071fb4ba75df6b3f20bdfd80df5ba454b69bf150cc30376d1f7678a278961aef9c5dff6867e86e9257a43ab3586747476918315e6bdd4c4808cfbe3a4e4aad78bf4d6cda6ad2899c0baaf858bc8a2c45befa5bf0383dbc371331f76302ab19dec9d7a95411e23d9a80d727696a53da7e4c1c0372337fd0ccd7b2aab201d3cea1a0321ccac2873cc7bfee09e34712fd71b17e366178b753bb3dac8e830452e7d8532927e3d551a778a68937cfa08a7b764781497c7bcc49d2e855732d329b826b46705b737e2fe13a87bd54698525aabb54cb72947b310d0bd1bc7de64da22083ebe7f9986b384b6968f5cc5cd461e3c6de3c2f4f78f47dd640080b9c554caa1efd6095cc3f104ac4578c19b14a833a34126110715fbc7f1db37011e724bcfe2c5959521552b64eb92f6572ce92459f1987dc65451090670f703e8246d0f5eaf9358ecc19ed2f9ad6b25bc16b98075563853bc132468428db8d202fd0e98dc2481a408ae7f1289a4eeca77db3dd15bc18b2a877fb21517270ce762abadde67cd91873bb572f13faa3029dc5a3eb1957bccbe7cb1d8179f6e94a0b1135dc30dbb246973ec6b3b5cf2f939c27877b77139de704f5b5cd0779f17eb1ca7adffea1ea74f7c0719ba2a919bebde38a5ee02b811416838b62667f74167325695747d46865dc6b8c398437ddcc8c71b0da2b518da4e6e08daeef6e063c13fbc3ea64486a600b2c0cf887d52473fc2e866e23918912ba0f992d53691e1c18e24b9da71b4a16bbcc7ea2afaef5c936899f523d035de4b81bedab3614de8b8cc83024c66391a4ed0f0876bc5587d523cb94f0198684c2edae97dcbe88fc6cefc81739219e03986812ff148fad191f7548e61e81deb395bb1ed6e40cf8c21313b4e8a38cfaca986f6f832c6e5e34b3e5ba3296a86090c191c248ad9694782a1c586ba8ba37a120d786348f2d05a81f18e2a7bf098c8ac305ac7ed388e39728cc84b8834b2cba03921a5b4527f359a694e55bab4adf30c9ea092fed5354aa6de6faa51a2fa9fa0505deb11aea336b7a0da7e9eac03487d9636fa62727b29f274d38dfac52d51e5c0543f915a27acb63eb9d4d31a38f8c730c419851b51698db6ca73707a658dbb01ff04963c1a7dbe9ed4a1a14d0a3601e27bf909ccbe538c1ad8314f16623b939110d1f22136bf2d6175ee89176263428da979ac6d4330f020f0cb08d7d583bb605edee544b416886297d562bb858825b6b3209ae0a1b538fa4339cc572cb3cba11b57186d40e6eac5cfaabcf010e4551aae887ecc806109e0912cf4e85cf350a2ab77dd30df5ef6e244d346f95b2d5ad645758a0d91b8130a6e37c5b90ba623d9e5cc54d44346f159d5d1214a7b180fb19bc3a0439912db03d991b23b56ec34f1af9c8b1d6f066aa3a007b35fc1b0c9b4dd01b63fe9886d3bb5a64e691d625c1f65299fb0787f674ba56ad27f0eae2ca8d6bcb94cded73adbc8823d6ec50ed1f638bea6b01da7f2959096604fe25335f1ad9bfe8ed8b5aedc72bc6f814acaede00b3f1b8ee9ebc31b3179145b70bcae8ae5c89e063d03dcb50dcc80eb370efb2a6d8687e86a5c3e67475d57f01a9ede76473f31e231c275b2b77330c5e06098b6e7069a971a6274de0991f65c855199f72b91836388e7bbfba1361f4aafb7bd37324c84543c2b75aeedb56912d485db0d44271be3f29eaa21b6cadabae14b9ff3000335f6b451d6fa3a918dda314f7898bfac77e676ba35ea1d251a9d273ad5cad54944d6468f9eea4d89128fe3b5c863f083932bbb5b8b32574975dd62d25779dbcc75a70a17e4f5c2bfcd91cdb9b293d2588dc2b2b1f33c84ec39c0e3c990acb33e0a53c3e93b51bdb1086e38dd2e169135b4cc95371651ea80ba247410bdeeb3cfb677ab827bf7b6fa7665fa9a3a4995adc6c6bd66864be94025175cd1d756762e3801025c9a10478f8a18d7b2ada3472e5209126fae535a72cd9fdeba3f71be861af7bb697b17e6e1aa08ce01d8a57d9bb077977ff9c2fe7ad3381415b4671482cdde421402519ba5f61bf5fdb3a6538f417b6f1e9c7d7b96d159e9e459dcecb5ce3638d01a3996032d1138d5c5826adcac9353bb4c1fc08a4f608fe1c6c28b5d07181a39b1b89c627773696d2d0e445b6e3f44614238049f8595792c09b1f6ca3b469dbce1c349c6beee0e37300e7b613b010256b328360fc37a2955e01cdaa72c86c26a008c5d9bcad19c2086a13ca5db528876c1716c4317892e21531a0e4e7b54f849b770ae8d60463d177a3b8868cf5d601da189f2972f9050cf8c4868d7d4bc7d388cf7f614c678ae35c4f26bc1ebf00d33ef1c8b7b374c571ef168ae6fe3d3d44e99dc61345236668cc79ebca940473199c371a6424a1b0e26ccb366247ab1db92f7325bb7934cd26feb11dae29835b57d5fdf485d78f9fcddd14f74cebe95d35c5715f4591ba83c4ca36c754c5b35468ff626ecd14305b53e99d29af1c7f71b6753ff0d3562ed1b97cc5e87f9195e1d8337ace0bd2b09fe069f97d733aa58cf677207de6649d44a50792e67b3548a2eb9f93a6ed4a5f3db220c73d06fb858fcf2ee33af87252d2e8a33550e1784ae6fe374de6a7bb7823038b6c30ca688535c1c32b8852b103456ba0e481accbadd7b736760739da2264eba69dc309e8b1762541fb0eff7feff0ffb46599cc3749de538621efcf0e86fdf1b5336610c5e25e159c1be03fc02d7fdb6de784c3e86a3c07364415ca968cd6e766312a586df8fb41fc69638817413b1e222c70d5371b38d1bb751998189995083619fc751f7610b674a61202eb699d6186ea6a8de2c3bedd11f6d5efc0c6759e50fe071641244afa5272c7a6fde2edb65b2ccab68bd4b94ea159830751ca525cf2f801a9d5db1648f6bf694b86e9a5612aca370c2663525ca76d29036768ac34aed86520caf25c0cc09606eda95689e48f0b14baf545b2c1fc96a4f653529821d05ab882308af951137f08a7a2d6651f5695315a4a3c886dc2e8f6cc2a03527d8b4737875b7de2278aa22b069c0d3cd498d97367c2be998c4756a5925627592d7eeaf24432a4bbd2fdb6e90dc9895da62a278a4c6c2d64a6d2c111ee70a17abc62ad789f01d1591ea54243a1530b3c72bdc69089a3c6169a51113c56771594c10a80ebbe45dc5f6e929897eafa685fe0804ec403dd8445ff1b0327d0967d4f4186f9b684a1eecd5de31b6ccf49b2d8046b62b31ebac09323519abfe5ac253d02dacb523c89e09dae8cf972fec919cc7689f6d558a45fb01defcc22f8febece3e5128c3f1b89f23a83fb84c11731ce5a81885a35f18292d1382833490e511214f8c68dd143c546caa6ef1f480c120438175200df5f1688d6270c390391683435f1853616244899bdce2e797e0893001a345562fa650dd9ec77551fd2c62e906ae24f544c054a694bf1af341a847dd57550b97a6ac22ec3f6163eba24496cada25b390bf16a11fe097ee27370cb566b3c965f5409429c8571aa5cd78fd749e75d1bb0f1ad01ec40bf60afc1ab474204fa44a3aefe480a31dbddee04a3b6053780146b8f37ccf92d9af685182a05c49d3be982ec4b3e03dc007e356ac48452735c5920cb19ddfa5a38dbc40fb5697bcb6dafb6dfeae9b2ee7f97ccdb56717da8c52769803f74d1a252d2f486d64dbac739a7852c9cbcef48191a41ac7cba6dbf1962db56cc1b44ecd4815adedef78c34cb19484be3a75cabef4290ab61c33404d0507f03422d02a393d8284ed738c6e8bcb463345331188e57f1271e8d9a5943abd53a64c6cb196a8266718a670bfbd363ba36f490e69ec6fdf179d97bcc7b165a60790a8edac3efd93df58f950b25c8e98103d4548d1e527a38c6db4187eceff136a4f5a1e92b88f9b91f319d547c45f33fb99b57cf43e7f8fea95a1fb0ce70939ead38be31ea5f48cfe8b0b8f2a7439a26e8d7e8d93694f521e96bd4ac172d9d447c45ebe77f829241a0999737d4318d78e7113d4fa36172195e156faad58ce7df44bf9db72ba8e4f712d33b10f12d93eb22563d794a6702c29c3c7c2967da77363df975faebafa75333cf2d60210ca02f8d677fc01e7924a370ef94ce20088229a6520442e1c5abc8771f8e652a7f3ad83c7582af8efef6bfa714bde799370991d09c68527b70ba4956b84126fdba91e9487f09d0f6faf1bf4ccf2678a98c8f9a88f20cf1051f0d334a878b95ed2eba5432c44b0f1fb3e1a1b2fe281b976f556c7d647c75ce3ca922ab845253e62aa53c8104b80fe457a5896b052d5fadd11b06c0274279300f753040a776c0d2b35d4a1e1e0cf4a4ff89c489ef01183c7d32a59a4feb97d57489a94ae33f2a5ab85284d425a33f2aa80cd4a5673f23250a17499c9e3f6e71901826e06fafc0512fcb1cc3c8324f4ca5c467c15dd0b682e74550a5c5325e28477a3041f84b98b817bee9929d3e4b65f547bc2200cc63954478f13ff9d0206d27b0a00c24fb0b42c5e595212de336d9a633dbacb5bafcd630e2bd3358be2b80de7e428b4c050b939c87d1d58dc8a3e8d14fdf661ae2820984b72a1d47204d3ad6c8c70878adfd699dea4c1d8ae9ce587d5fc5487b19e6ff29b5de6dbaccbab5da4d81fb507a4a289fc5d1c1f07ecbb1632d030cefdac75c2d1184117b38bb207b71e81b18bd58fd5a39368d384b36bf12023fb73a62687567eb09f2e5d09eb23ee6099410be6059ae925b9f43cbb84c7094fe87b13b48bc57ca5110cff1f092f5789e64850b0fadf01bcfafeb17bea104ff170000ffff010000ffffb824ab32487a0000") + bs, _ = hex.DecodeString("1f8b080000096e8800ffec7d7b73db4692f8fffa1463febc016953a06c6753fbb32ce712c5ded3c6b15d969dbb2a45b902c9a1880804183c24b36c7df7ebee1900f3044159c9ee561dcb16494c4f4f774f4f4f77cf8393093bced69b3cbe58966c783c628f0f1e7dcdfe115d6653f67d965fb0289d03445ae6f1b42ab3bc60c38273562e393b7ef3fafdbb93ef3fbc7ff3ee942de2848fc23d40f75d92304257b09c173cbfe2f3907d2838cb16502d2e589155f98cb35936e70cbe5e64573c4ff99c4d37d018fbe9e4fd7e516e128eb89278c6d3029b8b4a3683d229678bac0292e29468787572fce2f5e90b6a3edcdb9b3cf8ad48e2b464d33cbb86b69fb232aff818da4acb38ad78fd7d9d5405fe17dfd98309d4bc48b26994b0fb4fd9224a0a008ad28b2a8972f91d81f6820a3e14208b59191ceeed5d45392b36e90cd84a2fd8515d235c65f32ae1c3a0290bc6ec2c5847c52c4ad6399f2dcbb0cca3b448a29207e7a3434254e5c93402f4472c00b911fea67e080c2ce28be1a282077196b2e1fd6559aedfe6d9553ce7f998dd6ff0d5cf46ecd31e83970618cef922aa92b2083f16f9e23f7904cf5e472b6af4bff78f4fdfbddc7f9f5df2141adf52f738cb2e635ed7d56a8aaa164121c8eeb48cca78f6123aab789561e3434124be40308bf8e353162420c6fd60dc1414d5421484bf15591ad0f31b101afed74554e6599200d2e0c5154fcbe3324f40f08acc8a59b6868e25b61af9d0c330898a926a013b6995244200d82f590a1a855c921ab4cfb1c6c90ff0fc40b24cda50cd66bc285ea608df343c8fcaa86e0f5ff1820def09bcea63859cfb7c1597c3e0c3c91b820a46871a544313aa6f5b74b3a73521297cce0ecc5690a07091e52fa2d952512a8e023061f105b22d3218614976311c10d460cce83d8ce7f5a77283c2159f89e3430b8fc69d55cba870a37cbf396c5973f4183677464c253cbd28976c9f3d3a6f6b375d655605ea15c4052fdfc72b9e55a52213ab835079c20b5e0eeb01fb900513a2bff8b688d3193f0ae0916872a4550da5760c1b2d31ca799e67f990fe4299c2fd98fdf5e0403eb851d44d826e55b69ebab658742a9b320088903b145c12030d478f82bb13d8a3034b623b52d0d5bad57287313aad9f761b24d588c3e7249b4508558b11bb1b4ce4d50f502c8c4efd14187af3a3660bf029ce21515e8a8949f69c6af066d96a9d70a2e3887dba39d4cb70b6f13d3f499123adc1b63ce5c45b61572659e1f3b373ed394c963cb1c1571b1ab141a03d4d01d881639d676536cb92e325cc1de04a68ba2a6172becef212c417d98d89b2b720de985f7b6b3b98025f287d818cd9a456eb8b1ca6b8937491c97a6e257c3898e08c371835fad62a081614ea4012134f7ad1aa3a587136c4c7316905bc3d2388429a4278f2f0a139161100c009ee2c3ed7c73b1a8cab2889e7af084d9ccef9c7370ba265c49e1fd9b309b1d5e82ecef302d8b6ffd39c4797869537ecc9cd4853d3fb593a1c348341f4efa990d3401d4a2e21a1c1af6b424f45394c76a350179f98279133c35a75f273d338219a72723effae55ff063ac85701b82f3ff044f16ae0e13ccee573b0da713e524bd19460210e35f5799955b325167c58cfd17b144537261927330f11395f81bfeda4c32eaa899867d76902fe9a931098e8781e17970d2966f7b55e8cda616476c1c9ce35d1ab8e86d3fb9178e314a62ce5b1cbda355586c1ff4b79799de59734548311da9c2819064bf04b35e400d962ea862b96558972714399aa51cb41ceb0bb0bc29e9ac9896ca9b514d8c7f55635265ad153e7d29cf6201787dc5c98562821f74fa75435f6c253438b7aee71494cb0b028c5b4478fcaac170baf60e8272768bdc458f9623e204001792fdf0145c386b691e24042c42a9a62caec8aa45705d9e9084263318351407b0db1e432cab9088b1119bb8ecb65682a3bcd3daa345e230e87ff8eb88f17962a48ba8f1b9a6a404274f2c398a9dc3492ed52e577602b4afe6708d7cf0441212736fd4e9a91d91fe2423a29bd28062de4d09bb67b7356330011c4f996368f77689006f596e63c63c607aecd024d3be9745d3c650763ab049c785fd149fafda6e4c5fbac8c1227c09baadc02f1dd7c0ebd08e81b0a2378a2c3dd1cbad9ab3b7e3b77ff530a022006f0a2ee301cc7e4e65282c2d167667769be71f8664d3d107e78f71d3829eb129d5187cb0496e264c1aa22bae04c389f38752da3824dc1a36429073bc0c160d43852b01e733ec339603e3631811db98e200e2e331615979417039f25c7efabe892b388cd96593ce321fbbe22ab33cfd2a0a43a262aa832ad2e10c58acdab1c89c2a9368e120cf22a08528a8cec162f112d2581c8685988808812624291f5e36c11e745c9aee2222e43f65f4b9eca9c9ec000e66f8dc9429b204c3f36b8006c9591bd8c52cc03e66c097f0a165d6463a44a726fe2f8bd8259127dc03dad04cd1191f5335285934b36ab5698151054a14149a2191f4e86df3e857fbf7e0e1f1cfe523c18b595e0db2f47f06778f6ebe1f98351f8e0fee8f3aff077326683fb8f0623dbb1bed75676b9d1060940d4a0ad7034808015e33fb07ad7e0f13e6483c355f4711f94888a9e1c3c78fcf58327df1c1c182e36e398c074580120e8a12282672af67d26703da048daae8c2f74322aa76bd1b4ddcbd9a799814f3318697cfe12fe166ac8d40c40758e206b6f4c2e977c831253c0502c0869b84d7a5b6750cfb2aa0e105411f9b423cf417271661ac8abf916c9a114114f3105fee1dd09ce69590abd2e987205826652476b4cf599c841908e92dd1bf8d27279aaa8c624293199ba7ad24ccf891ccb98d2009653e91161ad2237ee9e3ddd4030b1d244ea16654180415f51e939059a3bf0b373a211a89d2274894e903cb0c476d3cda9e18c09d99b530b96c0f471a4d26f3b776595a78af43b4644db288e0bc2fe2f343cda19fe5b248dc688a431f8eace478dee6935be05366831ebd012b38a921a325f375da3d6c4a30d60a5f470cf8905fb189c1d4cfd8cd98c72e1076e2a9a3cd16cb5c6d5b35bb08e22c3daa89103e1630dbae0f155afbcb989f28b075fc8d8c323afa48094733f5a1406547e74077d120a5e31e309144d10b5a73b5c0642197463d68ef5b1b707fe39a6f7b8091f30f42f7ad86025e0e86d885101c1bd0051b69e86eecf9698bd1d22cc7e93ef1e81d08961dd9d9a1bbda0a4c7a1be2e3252ff98d68d7d5641983e1c76e087bfb94edfe6d03d79b9816a239f9afbd5dbd6b032df78b0d0f215043321856540fe4f51b90cc1b51b421fff8d3d10b224083506030939623f130a8557ce1d5aa5b52cc2becea6b5e8cedfb606e66dfc86cda272b68498ca275a4b281ec366b3e000f4b9a1f8722e5ef49bfcdb4153ecec015056aecf38130b27bbfa3acd724b3f4e0435b77063685f422f6301803bd9091885c7f542d4bdb878b15a979b37d3df40de7acc3d32cc80b988650bc01db2bf8ac19303eb97b3a34e0899c3087fcbe274188c59e021a05eabd27151eece494eba5b564f63449b42dacc9e3b3d822f6f8a843adb986e461df416595e0a12818828e71e61d4eb67f8fe53b436b226187f40009ae5312f8cc6448f873083154315d7c82129d387ae5f56dc681b082dd57aab2cabd15847b6d5438235cb9ba2a409aa19151dfa2057f4b53c96897caf8f7183ea6e93d06bb44f68fd6847bb65ac314b37b87de6354dcaca90b21f42334d4694e9482e0b6be62ad09da3ad12b8e27901e0bb722fab5956ab87cc451a71d706b555f19ddb946bdcbb36aa2f8d9badcabd151d3b497c0bec9666e8c95dd999da6e991dd5c3d40203a29ed33dcdafb353b118a452e00afc715354b670667620f60aaa74ce17980a0edcd90084b84c7171f2d09518b0d6e384bd8b535af567f7b0092fe6a2ccd66b68d989b906c240ddd102ade27965739c44c59f209a18f4e50f90cb1c974a733762da192857307bc8a6a64556813af13ce1fe1e11432f70c5813a1ab4c7b4b0edc1b4cee355946ffa609a45697a5b548e9e30d401097dcbf3194f4b5c21f9a375e2919a31bfd9a60f62a330c53884df5adc7163d5b4613dc3490a2020c272aa1c4e75a289890b40a1e1d0942b45708b24031b0acdb86d11ba24b8474413adc3b1d117b89a38cff0324d0168b5bcaee9575f6df75f9bd4cb1149cbeddc096dca2e839ecb1e750d69b4cd6a5d866d05c17ee1d659a2dc3261ffde32b54d4b2fc1da837fab60fdb600a9c7906b9b5829b709f2d4222e9f7475438b809e418c45a18cf8ba6cd9b71d4aa1eeb4fc67b1a010018edb5f3aedb29f959ff9d66ea8d72d5a4afbad60181eb08bbe3f523c490c73cdcffeb6b7f4334c2ff3d7b45a6348476717395861de4b4d0cc8b83f4e4aae7abd486fdd6cda8a9209ac875ab8882c4abcf50ef87b30b83d1c37f36107a312dbd9c1b95719e4e18fadda20676759da734a1e0c7c3372d3cfd0bca7b20ad2c1a3ae3110c24c8b32c7bce737ee4913b769bd76316e76b158b733ab0d8d0e53e4d2572843e9d753a551a788b6c9a78f707a4b86cfe3f29497b889a5f04a663201d784b6a3e0a644dc5a0275376d8429a5b55acb749b72a00a01dd1b6decada12d82f0c3bb1769344d6843f8d055dcecd1c133322e4c7fff70d24d0600981b43a51ccc5d11a68b1b5df126bde9cc5690b9c301c3fe71fae67588c7ced28b78b1b1b29f6a856c5dd2de89259ded2a9eb24f98062ac1b8edbf077da30dbbeb75128b5dd1133a5175a384ce22ce5f6785337d3b4682c6d4882be4ef77e4e336c9214570fd13442475572edbee89deca5b5439fcc9565c9cf99b891db27a9f358710eed58ac37fafa2a4706bf0d856dc11fbfcd9625fbcba5182368e75ed356c8ea4cdb11ded78c9679708e3dd94c6e558c2ad6871419f7d1eaa730cb6bea97b0c3ef31d2de8aa442eac7bbf93bac27f2b82d028ec4ccefea3ce44ab2ae9fad40abb8e71633087fab8ff8e371a44eb2cb4c1db10b4ddede18782bf7f754a490a4d0164819f11fbec8c7ea8d0cdc47760443640f335abed1dc3a31649b2d973b4a16bbcc7a22afaef5c6f6899f523d035de4b81be92b365bde7b4ccc3024c66390cc668d4a3b562ac3e2a5edac7104c34260eedd4bd65f4f56df8dd13c8004f160c7c4945d28f8e9ca6723042ef58cf6987d1d6c94056721ccb701e10536de8e9758cabbed77cba462bd38c00180da8ff8a456995dc50504393c5b93889069c282439b0164ebc03c61e1726322bfad5713bce3e0e1d83ed1a0284ec3a6c8e2329add41f8d669a238c2e45ea3cf026a8a4bfbab2c88cf96d954554df4d57ba56085c4756ba15d24f897546a7cf3a425f4c6eb7411e00ba9534ddc252ce14f593967508c941b642b2f7fca6c39d7746b3467457a3adf21c1c4c59e37ec83f82d59c0f3fdd8ceb10cb26059b00c9bcf80826d629210dec94270bb12dc8482c6879059bdf96b03a87c30bb1c05f636a1e6bcbf9061e047e31c7f5e9f03e8cf7b73911ad0574d81bb5d8b678feb19d29d0840a98e2f9efca31b562995d076e5cd17c0b32570f7d526581c7fb3669b48a67c03b6689b004f088ab316e7a749c79dcced5736e98bb95ab38acb355b616366bc0ab8ea3c1ae3ba0764fe5ce5d201dc91e67a45eabbae2d7a95a2d4a7b0c7ab19bc1a043995bda63c4736577a8d869e15f39163bbe0cd446410f66bf80619369bb036c9fcb11ff756a4d9dd239c6d8779ea57ccce2c3bd1d95aa497f39b8b2a05ab3e432555fea90220bf698143b24db43e49ac2769c2557c23e823d8bcfd5c4af6eb23be2bbba72cbf1a1052a29b703147c6d395cae0f6fc4e4516cc1f1ba2a96437bfaf20c70d7362803aedf38ecabb4199e0fab71f9fc0f35afee353cbded8e7e62c2e315d5c9cecec114836360da9e5b685e6a88d1799341da73154265deaf440e8e21e6edee87da7c28bddef6ded0301152f1acd4b1b6d7a449d0166ef70dfd5e8c5d7baa86d82a6aeb862f7dcc438c78d8f34659eb4b30b66ac72ce151fea2de99dae9b2a8376b68749ee9542b17fe10595b9d6caa37214a3c4ed5228fc17f4d3676b71665ae92eaba7ba3aff2b6d9dd4e152ec85b85bfcd69c499b293d0588dc1b291f33c80ec39c0e3c922acb33e0a53c3e93b31bd31046eb8dc2d869035b4ec8e378650ea80ba2474c6baeeb34fb6e7aa827bf776fa7625fa9a3a4b95adb6c66d5c864be94025171cd18f5656ee9d0021a6efc5d19b22c6b55cebe88d8b5482c4fbd694965cf3a7b7ee8f9cafa1c6c36edade4679b42ac24b007669df36ecdde59f3fb3bfde367e4405ed196160b35b220c88b62c95deaacb9f347d790a9a79fba0ea6ed94127a3931f718fd43adbe2f86a4d598eaf44e0ec660baa718fceceed327de02973b93df61acb2c56cb31a471627139b3eee6d27a941f89b6dcfe83c28498c83f09ebf0541262edf1768c1679e984938c43dd8d6d601ce3dc9ebc05ac66096c1e827a9950e00cecd3018118ed0063d7a6723403882190a74b5b0a713c3b8e1be822d125644ac3c1698f0a3fea96c9b581c9a8e7426f3bffed7901ac2334517ef30500ea590709ed9a52770f63f12a99c218cfb58658fe28780bbe61e69d1b71cf81e982231ecd656d7c91da99923b6386ca8682d1c893a714e828967238bc544869bac19879d643442f765be95e66eb6e9240fa0532425b1cb39db65fe94f52175e7ef7f6e4473a1fdeca69a6ab0afa9a0d541ea5f36c754adb10864f0ec6ecc96305b53e51d27ae887775b674affa529625d17d78c5e45f905de6682977ee05520097e075f95d7b3a558ab6672e7d87649d44a5079ae02b3548aee5df9326ed465e1bb220cf3c2afb958fdf1ee8fae8725adae89b3400ef7822e0be3744ec8b7b4a36fe3184c105e5c6631b88363f91a995d87f60c46dc2eb7b95badb9984f1315dd596d18c6c50f62c41eb1af0ffeff378746599cc3549ce5381a1e7df3e46f5f1bd331610c5f26d145c1be02fc02d7c3b6de6844fe83a3c0b38d5e5cce67cd5c766312a586df8fb41fc6963881741bb1e24ac02dd36cb3b518b7ff98c18299e482219dc7f3ee0300ce307f202e5b99d4186ea7a8decc37ed1b772db69901c334abfc41358e3a82e8b5d48345efcc7b4abbcc9179a9a977b94fbd4c11a68593b4e4f91550a3b32bd6a371419a92c94dd34ad273188dd9b4a644d9e218d166437180a6dde48821af04983a01cc8da412cd33093e72e9956a67e52359edb9ac2645b0a760153102e1b5b2d4065e51afc52caa3e6faa827414d9904be5914d14b6e6049b760eafeed65b04cf5504360d78e236a9f1d22664254592b84ed2aa44accef2dab595644865a9f70adb0d928bb2525b4c146fd3586c5aa98d25c29b5ce102d248e53a117ea122529d8a44a70266ed78853be44093c72cad3462e6f1455c166304aa432a79ebad7da247a23fa869a13781801da9876de8231ea0a50fd1949a1ee10d084dc9a383daf3c596997edb02d0c8f625669d3541a62663d5174b780aba85b5f604d953411bbd7dfecc9ec8798cf68756a558001fe06d24fcfab4ce085e2fc1f8b3a128afb3aacf187c10e3ac1588a855132f28198ec23293e410256181bfdd307cacd848d9f4c32389418200e7420ae0d7cb02d1fa98216720128da62676d0c6820429b357d935cf8f61124083a64a4cbf40209bfea6ea43dad805524dfc8a8aa940296d29be934683b0afba0e2ad7218dd975d45efa4617f7887d43740964217ea4827f84aff8bc28a3d51a8f8a1755821017519c2a17bfe3c5c479d7c661bc7f9e1de9f7b93578f52887409f69d4d52f492166a0db6d4ed4b6e0069062edd19639bf45d3feb4824a0171e74ea820fb92cf10372e6f868d98506a8e63f4b29cd125a385b34d7c519bb627dcf66afba99e2eebfe77c9bc6d15d76c5a7c920678a37bfd9492a637b46ed23dce192d2ee1e47d4fcad00850e5d35dfbcd10dbae62de2262a70ed4f2f6fe6245b3c480b4347eca8d7aabbe5ca10ad2084023fd2efd5a044627b1619cae718cd1195ec768a662301c2fe38f7c3e6c660dad56eb9019d7fcd7044de314cfbbf5a7c7746de821cd3d8dfbe3f3b20f98f77caec0f21c1cb5c75fb307ea9b95e724c8c99103d4548d1e527a3cc2cb2803f6f77817d2fad0f405c4fcd48f984e2abea0f91fddcdab677473fc25a35a1fb04eb04dcf561c7f7be85f48cfe800b3f2d6214d13f44bf46c17cafa90f4256ad68b964e22bea0f5cb3f40c920d0cccb5bea9846bcf3d898a7d128b98e36c5eb6a35e5f99fa2dfce13ff2af9bdc4f416447cc7e4ba88554f43d286f728270f5fca99f6824dce7e99fcf2cbf9c4cc610b580803e843e3d91fb1271ec928dc3ba53308c37082a914815078f12af2fdc72399a69f0cb64f9de0aba3bffdef2945ef19db6d422434679ad41e9d6f93156e5a49bf6c643ad25f02b4bdedfa2f938b315e74e2a3664e7986f88a0f838c52dd6245ba8b2e950cf1f3794f5970acac2dcac6e5eff3b53e32fe08cb2ca9e65609a5a6cc1548797206701fc98f4a13370a5abe5aa3370c80cf84f2601eea68804eed80a517fb943c3c1ae809fd338913af9d1f3c7f36a19acfeb9f3de9125395c6bf57b428a508a94b46bf575019a84b2f7e424a142e9238bd7cdae220318cc1df5e81a35e96398691659e984a89cfc2fba06d05cf8bb04a8b65bc50ceab6082f0e728712f6ad3c52f7d96c1ea97b8911ecc6395ccf19e79f2a141da4e60411948f667848acb8d212de386d3a633dbacb5bab4d630e2bdc7565e4d4f3fb6410b48058b929c47f3cdadc8a3e8d14fdf761ae2820984772a1d47204d3ad6c8c70878ad3d639dea4c1d8ae9ce58fd7984a1f6b38affa7d47ab7e932ebd66a3705eec3d429a1fc369e1f050f5b8e1d6b196078d73ee66a89208cd857d905d98b43dfc0e8c5ea97cab169c45962eec17143dee988a1d59d9d27c817813d657dc81328217ce1b25c25773e87967199e028fd0f63e78ff8192347413cc3c342d6e35992152e3cb47a6f3cbfa97f3a0c25f8bf000000ffff010000ffff745e54fd92780000") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) Assets["app.js"] = bs @@ -73,7 +73,7 @@ func init() { bs, _ = ioutil.ReadAll(gr) Assets["favicon.png"] = bs - bs, _ = hex.DecodeString("1f8b080000096e8800ffec7d697bdc3692f0f7fc0ab8278734afd82dd98ef3ae2269568733510edb8f244f369b273b0f9a44371191040d80927b14cd6fdf2a80f7d164ab654bb3930fb69ac45555a82a541580e2de9393d7c7173fbf79497c1d06079fec3d719c4f2613722ce285e4735f938de34df2747be739f98e5e8a293912724e68e4418d484b3e4db4908a6c28c688f619397efdeae2ecf4e8edc5ebb37332e301db1c63778741404c778a48a698bc62de98bc558c881934e38a289148971157788cc0e35c5c3119318f4c173018f9f1f4c2517a1130ec2be02e8b140e473571a174cac84c2400128f0c0c3f9c1ebf7c75fed20c3ffec471002b448e04349aef8f583422d1dca171bc3f528bc885e1a3b979e52246220898dc1f9d6725c75a0623e20654a9fd11560a04bd1c61978c7a079f10b217324d89eb53a998de1f257ae6fcff5151e06b1d3bec5dc2aff647ffe5bc3d748e451853cda701836e61441641abd397fbcc9bb352bb88866c7f74c5d9752ca42e55bde69ef6f73d76056470ccc31620ce35a781a35c1ab0fd9df176a3238f2957f258731195fa6a54a389f6856cd408787409131700c5a058bb8926dcc59e7cc966fba319bdc2c7710c843cf8041b68ae0376901391fc4e6e6e709e5fc1fcbe829136366f6ff726b6563e80ed6c2a84565ad278e22a35c99fc6218fc6f06694c281dca07cc6f4a8de81041a5cd3c592cae699e8450c186bf65ee348a68490a9f016e4c6fc2424a69e07d03b53a1b50877c957dbf1fbafd3b21950c899d190078b5d32fa9605574c739792572c61a32d92bfd8228712a6668b281a2907589fcf6c17b79f983ffece16f19fc2bf67f0ef39fcfb321fbe3ac499450bfa5e63b424f87fa501422ae73c72b48877c9cef84b1656ea8e91344e2822a1620ab2d90ad68f2c0ac416f95144d485bfa01494005901208f41a2399300e235409877531b82821ca0e07928d2de813652a5e5017275b31467a7bb7406bcd25d9af7ec2dedb9b534efd9cba93015d263d2d22e12510daf40cc458dccbb64fbeb2a5f95de986e9c2f0bf68a85e228acbbc8c1a02eaeea0370a59d4838d304f495ce8732af0d7b3bc8de16b45a43402c48c2286fe371150714e692472045cc9906c2bdcce000a9b34a06b83fe38f9c718c4607d6290aa6d4bd9c4b54c6388a9000fe7cbaf1f4d98b2df2f4f936feb7b3f9759582927a3c51bbe45909f98c3e3bf17bf2bc789f11f229bc7e9abdbeade3056c168d3d0a3aadc6e7019b01b4db05a357d0dbd92e5e1bcea7019f23fd11c9affb699511385b239af4c5b9204f78880a9d46ba451260f9ca9b5dfb5c33c7c80c36bd061d58d13dd7cc52fff9f6766b4f5e438d59fc9f8212eb83c21bab90068153a162274069e3ff0c99c729d908e9fb94a65fbdf82a7ebf997790ca15180031a80960e903fba62c7d796542267f06de073340134af26580c022ab714561e3f97837af4bfe0c4491a065a6b0e693d8074a2b102a0248886b825335958c5e2a34110201cd258ba5803601b0e044c1e20db6c635d77eb947cb4f6a4cfe3cc95fd78820814cd9acdce6ecb83731220846c2c45a099fec190cb1c8e357755be3e5152cb5c6ce38d89b40b95d42c110231722069192046d187c17d1abdc14a1575862ffa01aca7e7a6c4693002c06e89e997a7c4ecdba6f57380341da0942418138322dc3b511a4a73a86339560ef016c3c9c6725a8df464449d7fe748cc0bc786e2c00e21bcedc1f3d7b3a22d65a19edec7c359a0076d87b3e545c1b073b213ef740eb3aef61416e3319e2bc7512949a67c8977e1ab9cdf1322602129e838590c473d03aec349a8971c4ae4be89b8a60d36a11a5f6817dc82dc0a98eb201f027fc2b086ecd0f6b4a82917a990fb4b1591da04ce379b0887db49e48fecb717d7625e16f128f329a7dce4295cb7fd1098844a4607d60c52fe78a0609fccfa48249df1fdddc94d1c51a4adfde8e0ededab7c063e4e6b3b4f667b7d52932034d2c094a949c04bc4ad714174f8ad813d751155b9a12e64fa37a3d60dbf91ced60d433e943b9971a8e072f3dae2d80ef3e8fa6408fbd69cec920c11aa935857fb4327ec128f9b8218b920a90068d831cd4f21c82f23c63b1c039ec9d38dff36a335647e1d0f3087607abbb908bb42a425c256a1f442814832002aa5c334b991ea8b0cb3e787242f22beea1d8ac00352c0efadc2a6f35087457cc7bc0cebabb1b19f9702abe93e898f641e3c352737af22169a8fc4423030f025acc66bd10dbeeee463f58c735957a201bcea0badf03cf99edf14352904e45320c6458b9a5765818eb459ff4609f4b80de9b2441bbf62c4ad2851f7fc0f26257fb8e85dad647f3e01b2e958675fe7a8b8828581070ceaf23c26724622e538acac5d724a529b9a63242bb2935250a4b0417c427d0ff8ccf4f23f4d873350d1d1776410598c0093d67e76979752d95031d5840ccff4e3a6c7545a8d7455a7ba6d69effacb4a655ea9860c128e311702b99c73c30b09e1de4b4eb1e00cdafbac28f4b5378e163ec09699048632c119f2a32650cdc097a8571a84483b907a6a80bbe18b4f0c6a4886e84094e430a185a9d6925138d0203a3daf5b864c554a6be1b7cf43f6b56ca003b058d1315966d141283bb985a461f5592eb264483a50290b6197f3f6a99ccea8bca63e9a1b09cabc2c1e649007632f0728df52b4c9ef5870d8be5d9b8d364038d6bf49d368b1e5a05e2c5327970d02d8e47847b48ef7404ced472c948a5e8e6069b1c63c106fe1a9f9e80356ca6101e19d5b64ff46ef0ef0f0076cde65c2a75957a501384b04df46ad58c6957b1dc800e018d5566d0c56093610cf14f157c336b105f02629ff2c863efd1206d743fc0522e1b5cc4520968737bdbd7572107258703c9a9c009747d4bce734d755210bc15c2a6219e77e25cfb0cecef24ba8c8c35fbd6fe685ad8c3fb52c08a310394cfed8fb5fa72696455f379faabbfb7461fa002db38a803061310ee1988908d9b1becf70d932eb00f9db312cb7fb6d90eddca9073af95a3dbc13e85ca1f11e6ae929a63635fc1fa5715f3bafe4c253fd33b6591ab4a7926bd2417e3c66843d6d57ac57ad0a75dd06de0a9dc84d4a2b0e9b3d2921b116827aace022deda5b2ab080bfdfed50fa6b677e5cb578f922f007d2f19d8cb11c7304a1ab828693368ef75e234e9466a7d7c6d80cc11318b7af0fec6d4bc07844fb8642ed26f2dbc33cb3604bf2df825a5e4af631e5dd1807771cf60b2a456ada3f8bc8f2e2fa5146b92a51d8787648b7920a67deef05fa10e0dda821df74184b9e9fd1b1e30457e2734b8a60bf52a09a74cdede36f437d700613afc16e9e8eb68a14d5f531e5164bea38723af2fc23eeafe20dc0f47dc003bbf1fda9aae1e1169dd40249e83418f40d0be60dd6b70fa5ecf8ca3b70e7dbbebd30e351581736be97f40b6ab0120718d9e6f619466318ee62c169dac3b89d853cb1c36ac91126699d1b514b9fd7dc0ee60bb079c6d72b4dcf8323cf340fc84fb7f3d5cf42355e0bc1b59fd205cd46aea23dd0dc5cfc0c97b1d0560a5fdcc541f1d3bbb7a52ebeb9578bc539244aecfdc4bd627dda7f3484846c0660fb9c2dd0ff500d363814018d47dcc50a5bbc73c4966cbd5a141dfcec4b9dd9afd896b7fbd25ce0ca8cc4e0e526af3aee6139474b9185064b6b35b1cb7864f665eb74724da1d24da11d98b250f4121b7ed3ee28e4b81f080d81e58f92e0ffa0cda7c13aebed3d60bab47a33993a356fd443eff9c0c5d05f170a0e41e6b5905fbb5433c64e14f0720c73e82ac96e1db2e636d6ef81d229be5b824ee569522928657ee2d241941e7c36291f9767729f888ad8f67738c3ffe92edd96f6cfefa78229016bd2cf4884f0ec239641ba86c8b83691465c711529c8d2259332e53c0d313910102ff11946906657a77230e7f246f350ff83fcc06cc9a0bc902ccb9700c7f1e8747a3a9ba543d04387ef3f6de09e0c6491aeeacf917f018519d481aeceedcde7ef62fe2eb9da4d5c8193cad4720183b622e125afdf285169a065f60d4661a23c7840c64c5bdbdc5a78d8ebaa791f1b62ef0b1cc649b0f4dcb418be7dbf843d251247a3821c181bf7f4a66e64b2a0700f2611409f03ad8ebefc9937d92806e9cf1a8531d0ea6399eedf585ec8b3066a39373bc57b156acb1d7edc84e5ee0b950d350252e1e35182d234af320d76b737a36877498cbd318bb664e3e1938f66cb6c2e00fa9d7fbb61afe660fedad2764e9c9bfc7ec0eddd5f731566866a67d20f7676deb7f80c56d8d4ebbfb5f589d5d06b8d03e9388ba7a4c47005a0cf075f7feeb471b5bfa6835d7fbc66a3d1bd0b3b78cfaa7bc02a5a38d711ec09545e7d615611c302cae978eff6ed62b0c87ee6c6f0fde957e1be359a3936299251bd07c9d1df27bc1626f2524aa2702ec42de3702d897c6d0dcdd5ee340403380b604f3d1c1095769f9b253171f6ce7be2e307fecdc570a8704ea79d417a83ff43c4076ad28b05538d851253ef06056bb0843d0bf7d315690415f8ae85ebcc321e25bf7160b697e5052c538fbbddb06786bf938adbc0ab51a0a27234fa9b3511b4dcdae4037593a7a7f32b47bdc25f877f6d0eb5c3ac051af37f9c35fefa5ea10b7bddee68378efff1a5e1992023a5a7b11f9c33dfb809b33c54fbb4133a91e32c757e6f4976abf74c1b0cc1ed51e072c9a6bdfee733deced8b36afaf4ee4574273b75016eb5cc128f9b0400ff45f4b64c191f11e320804bc1d5ff090811a00c792ed8ebedd0dc35da546b7b7bb0088a905eede4c721679c1c2fabfd8c8cc40f5ea68fb7cdfc3a58b92e7d87effa22c02e6ca83e58f61d7b9faccd7d7df3fc8758b8a04e4f794f22bcbf8fac8e4cf18769339bba9923e0290cc4b137034dcf19eabcc5d3784ab97824bfa2bad625c85546961fa96dd09a008ee5f22151be72963c611d393a66c9c2731deac2713f28d9049d8792d6cd0c80a869e73ed27d331d8a7937cecd22fc9602e15534d487e30577dc999adb01e204b48e0c230732117134fb8097a1be965f3a6f9562afee064e14a256d44394a965c17bda7c15b98c266373aeebe62bbfc26a0d9fe67fa5ac84bab1ff1a804d8449934d9271328b0b58c5e1911656eb060ccdc46ca519180a27d0f1886661eec096662f43c5e15ffe238b7c7ecdaf50528dc1c8f3c5257b93b9762505c87530cf413c6a6a68ca06dbf4500608c4a9ad44e94c45280e1119a7c0b6401a421a791c6744f9a14e6e0181857cb05f4f7b9cf8280a797df5335be37312817d4492f9c99db781da49179958c10d95db612fe453f75cc7362f26826723a34a73a270357a418729c45b8eaf5df18e924d734b75bc6e3711b960522f63eff723cde6675ee038d7cc0f5b1c0b9caae1d77ce5476cd39c30f6f32e770e73b4e29b2796fc736f2c0da78b440a7b8d709ed0c7b76c2797ad20921f7de81380554ce01820546b62b640515225456627148af9097a6c89ce73985054df319778d38d6268b7c1e7a54f95f97e3d8c5f19acd421c4bebe035080bc1ffd0f4a86570328fb8638fabe4cd4db8b0974b8a451d337c648776a130376c6c1b9bed86402507d45f388d2898e33609c83b39f90bf6be9ff53a9ab492d4e08cc67f43856591cecc33c8c7b6d566d4632dd89a42c7e33410a9e03bc1bcd56cb685695eb30ed3d9d64173b89e12c47f5ebb49e78bebfdd113041698eae57b30578d3c563a4aade722b982ff7c40a783fa4437a7a5d3baf1d6c0ad6184efcd840cd35431f873942682437e7b69e669c91e1236c80e9119c3d6bcbdf90264cc31cbd417982327eb681c19bf7efc697a8105b7135a4a3d2ef5a2b925b417d029f83505c160700b26f0e98195a5135851b156a32d8f62bcbf9d46c61a142e50469ecfe2ed25fe3788a6297b6a42352ae5913354308718416412895b5f08581ad0c06474ef128ec7590dfe0e0ec23d30030c78ad21fbcc55ece08925c26e02320d182ae25e1a2b4fc5036b6d6ce5bc6d73a07de7a46512ed04fffe7bdb04c7d2600110e2adfbc8ce1c9a0b46c9106327b4a5751c19a63f20699e8d1149c55ed862b3ef69ba1b9373a48032692a5181e24fe85498f487a04c36b83926ed6d8e3b376c9a98b68b3c32f1c61d09005edf4f3eac44363d171846982a002b6d914bc662c43be48082497469b2641a62996c03401c6806ac54c15ee199552dc42a7875cca091df71ceb14b64b53a8f78975818f8a6018d2eef0d1243d0574662fa81319c0450674079822993be2110e2d24adf989c6a4c9891049e2126f9f2299aa95fbe30a93ca98bac883b5630312e6e7fd9d916330226069459e6b23b176acb9ab2aac17553661aa57cd7418b5a64a27b23b0a975072a498a47588d8a441362b9928c0340c2379739f747df8a303b5694ea45ecaa4d2b0e5283d41ea56d57777133f14759199ddbdc2691d2b03ce33ca42a3fd30e6e90283b676887d5736cdc3f51a9dd2c441ff330fbb90265bd059092bb8654e0596324d66b5b34f0508035c590fcc5a0779d831cd6732def3c172f8da2c6cd450ace5e0ce2a241d8463cdeb5b96a733051a20a5441c5c74c1a8383265aa007ea12135600fe5ad854c02c6b3c7c066bcbfa390b66a321d35a0e1ee185a1a978dfb6e6b54e69695a2dcdf31e3ae85ede856bba4fed7b8a2d91f976fe1a14ce4652ac6029b6443f07259cc983fea54b8bf48aa5a9b6aaec5e52e29fe637b3d70f849ec3784b42a183d0c803b6e61813808c77c452da0cca92138aabbe3bbcc7e8240e00b4dd08c455b0caf3cb113221209b000893d9942708b815fce6c1d9d0c02849fa4e9c9f982e3b91eb092b57e2cb594e9e7ebf116b3d3abf71456f7160c2c0a62bb99a03d9b66fd637cefd7997786fabd7bb2c6f80b595b76d84b5d51be2a516008df167cd4b6d29edf052cdd8d65e305682adde24777b9690bea5a6201e1a04557b228daeab9a8a6d30439607a6c3bbedb121ceec85bb922b9b44fc5d82a7c44040a17a4cd13a8ef64793fff9853aff3874fe7bdbf90fe7efe35f6f76b65e3cbffd74d26974183c87f9a1a66abbffd03255b92bd65256f8a2e798d81ea863c371a0296736684df2e4558b31f93175bdf0bd82c940ef8b06416e7c9a53ae9d2ecf6a605bb7c792d72836e3d9c832e3e4aea0ad75af03973dbf2efe6f0369a8ff77179852e65a15a4dc6126aa3ec91b2f9e17fe9e31570330c136db5dbeadccdf332e1ef200fef300db8df1e696f1f9c886b3694af1128854e673161b7fdfac8c11058b25546998bdf665fb918cf5b4dc1baafd657ace96f76bba9a6794351d95b51cbe5845c1990eaa2aee9f939342c9656accd6bba322cb530d15faeca36a274be02efd644b0b0d85cfe8435595521600328956ccf1ec04d86c4c7ee2a09780e95dc98c77c66784eb2210c2704118131416cd81bea5a8c7c63f37b3f85b82a777a9ca2407bffb31cbb319913d64efe242a0e907038ce6f5786dbaf4eaa1127f36c43e46620dd745c3a56e88b375273be6c57033a6158361eeaca9da2986a674a05b7b56cd08d2f0694bc26f33a02c5d0996a88676ddd71fa5b0a90330f01b4bf065f1e43e99491122abe3a57e1262fa73119522c7a0e231d16bbd42117bbd4ea54ae1b5d75c166179498317a921d00c5e2cc1e4d14f7225a948333962571a958f3ad118594ac72753aeedbca7617e82291f4de817d773b4ebd2094e3f4115916f0e2fccd7a2ac266b893d2d816f95e9ebdcc352239be9c4243a31a1cdae60627dc8cae495af83f5dc05abc2742f7ca2c0e7472933039ad3bcc5fd99fa55acf67b581f863fce0d5c3619338286826bd2c158c12ead1a18c65f61f2db5ffe1f51ed8ae3710a94adf444b339d9d4107f237c458d8753f21870f3706af17c286e038431eeb45ac8cc875f28192b9dbfb0a92dad6e0016404bd34307c006c3cc97e78a836ef764959b0b767d341e62bedb86df33167719f0e51a2b9bf045e3d101fe9f4df052a55436e14b1dd8133da5e725c6baf5af9673a4ed24370b431eed8f763e5e54a14cd736cbbd5c5edbe9b6f79dc05200ce2b18133816777bb77005b39f2c5ccf652e03b0d4846e70481dcc1cc4c2814e0bd1c3bd5f47bf09354c6c3fc03f8bc4426736cca926780e0dacb18865d0dfd1e8bf872d9654130c3937d4720ea05895da4f03305289219a637aca2a40cd4bae1037ebdd9c191b776aae4c47699c0abdbf85d19d2e1ede039b16bf3977c5ccf41aaa8654bb3ef88ae018068bbc3546bcb24857f761f18fb0a9947e97a71af12c31cc1f9b4aab6e2aadbd8934f853490fb089947d2ea8630729fdb29c7a743b480d03a8b293537c04e99ef76afa221a1fdeee6db54df06a108bccf1053cd54bde80732f6040620b48df690cd3b3b55570d68bee568922ea307e6d4ef5a871099e8fe632fe48df9fb3c8fb7e1a8308bd4ef45ce0c2813738810a21d764e37b7e34519bc34850ee6d35ebac44860a481f8d10670c3f6361ae0f80a63f379f07c2d865f6866c0c2542bda73b13a201d26062e0a7b73f0085d23b151522a5efee44a7467f6b90aa09db47639d37548221c38233b08e99d2c0b5c0c20484095cc7c8186259c930c234fabb33599a907d4cc562539e5a39468a1807dfbeb41a6655dd52ea701ded52866b283d70895f8746f71678a99fb6884c9e94b76fa237f9664a41337c6d6b78a325c19a1279ca2dee2bf6d2ee083d0efad9af1f9c6447075b68686a1c46d16a74acb7ba675aae43ca765b2885f70d1ebbac5385e0db01019bb2f3f46409312a743523de599cab703fea8d921ae7a55f3559c67ab6cacabcd768f6d8992f07383d20dea04d9e90f2ce2cd8246585c0d9c9f4bb19ee0df8570afa3f90f7937a3740ecb7a777f478b22e56241b0c38ce47ff684cf65619ce02640f13ede3b91d7b531277ee067096594ed5ea3c82c8daa13fa23daad4b5905e2bb659e1505334ed6a19d6715ea9817901cae355cd6d47e8bfbdb878736e3678018b36c34ab18b1fce7bf4713af558f11169e00fb59e9d9b6fd61e4971ad986c2199294f8b072e649526ff06243c8c44b40845a24027d1b98dcb9b3bff6d1c78b6a2617ff6d1cc7a5f92c99ae6be85a5419f37a7e47bb61870cad91b748d1d6fb666ebd19b53e81977e046cea8e36eabe9398bcee72a77858f2657761d98b6636e580836415bb38849933bad2deb4ee74cb4cdc3a3bbb5b3d2f7faff4db65056dd75b04a411aa5d0b1f390c887de73203460009ef93fcfe9beda3ec46110886bd2a90cffb2defe44e36bed2c72e522c6831a4999c05cd9b3791ee5c1c2dcf12d6f8c4aea5e9a7b8bc014317485d2a5b64c5ba2f83fd2cbbb348ef3bd6fe862969fb895389cc93f0f7a003bb6e7c83c4c62931f0d8ca5080d5ce64eb0396194ce189d535efbfa7be5784bfecbb9a241c29c440645ca211cb69a79c96ed7d3f95cb2b939e28b575f711bcf4d4f3d265390e46041e81510c3049ca826379f41b79fddd6c0584d3f961563baa36dc9f346b22bceaeeb5f2c3c2b17a22e497f5678a445d26259392a50f45fe485b3ef4f704e7e27bf299bc8de160286927d04dd59fe04428a348537b17e7b763f7af3e7d207a8eeaa368b4f25e4dbb52e7e0661208c83f4e62b716f4a13bf7189c775cde9aeee5c575869591a1e9b7aa79665969493f3a4e978f04b9fc27ee91374060bf30c739dd9add36cd6f55cd78536b61f0ac94e64cef0fc460630f274c4e12d25fbe6e5a14979b5312b1fd22ce50635fceca0061830553737d8e329de60f985fe8a39824a1fafcac7b265d5a4a2268f70969e6866aeeb63f3ec376660a5a05ccdeb66cb8c46791e53d2043b15e6d9f81c94adc976697a374f958f29a56c548c51a4382de52d6da4173a9c8aa4bec816fc42b1b4ca2e6556a8b24e4a08d363c60cfe4e05cb2c9392499b440398cf3ccd54919daa78631225c13a201cd3fae9972fc6b179af175813561c74f70387067c1eed1267e7450c6e81cf9096fb234caa0f4b8aa7fdfdd1b3172f469383bda99c148ab0f41d8f4cfdf93b19dc32b3ec2bcbe8b1881776a63e77e1e7d7e4e9f6ce73f21dbd14537224e43cbfe63413b8b6e396d831c6103848b7906a375f42ba6e3bf47d902ea9b801987def904a60e623cea626bac31be5912761dd3849229f86ad15a4f613490edfe30dccb3973f9173d70f816aad75134f72b0548e127d09eb8a0bbfdbaa1db1889c73cf17ad031e01393d8cd0f83ce0716b077f05cb804317f3447a4ae1f5fe4ad2c149990c5545b932fdbe03e15478d90aaf9ad5474aab809e22279c85ed14b678c40c0987d9e3652b4a670b90e6f304f0baa2ada35c40d9829c0990e90e38fec698e6002a8d68c486d2a4fcb383ab4b99eb223748cc79ef0a0f2b31d3d7261f9024c63835a73031ed90989578ba80204d0b59c9863917012ca963909289b5c3fe2af024ca5cd230c4417e80d204175d4cf4b845da44ed2949db61ac0fe4695cc907591f136dc029d7d3c4bd64da8c7b49251896e0144f4087bd0725557bb16ce4131a7190100040c460c3b20183e3adaef15c8879c04ce2cb78a222b09417ce5c0009f2dfdda3ee187ccf6dc555d02e65dbb4649f9818844b5d1f4c92e2f7249049f7f0cf80d4083c398ddc95c6fc2df92d99a0871fe0d19ad141f5b97bc0e7e4182623429d4e7ed0de4a6382a1ef6989e8b22b1678532070edcd92d9dd02c99420a01e9509b9901c7f457495e1afb89649347947717baef4d031e8aa7c8cb201abf06f2a959f43fbfcdd793752db8ea1a89dc2adfe39447c989e82490f861a8d0d56a383a3ec790997da812ec07b031d5a1f29534c85e5810fca055b50db053ec50d8f2f8f7fb3071c4de941474527d75c7768e2a041cb060cf6dbbb84c985f374bc3d7ed65f3b27dbe437352968d8dbcea6b54309553d88c471ad02b80c264f3d582d3a04bafe2f000000ffff010000ffffd18eeaa798a00000") + bs, _ = hex.DecodeString("1f8b080000096e8800ffec7d697bdc3692f0f7fc0ab8278734afd82dd98ef3ae2269568733510edb8f244f369b273b0f9a44371191040d80927b14cd6fdf2a80f7d164ab654bb3930fb69ac45555a82a541580e2de9393d7c7173fbf79497c1d06079fec3d719c4f2613722ce285e4735f938de34df2747be739f98e5e8a293912724e68e4418d484b3e4db4908a6c28c688f619397efdeae2ecf4e8edc5ebb37332e301db1c63778741404c778a48a698bc62de98bc558c881934e38a289148971157788cc0e35c5c3119318f4c173018f9f1f4c2517a1130ec2be02e8b140e473571a174cac84c2400128f0c0c3f9c1ebf7c75fed20c3ffec471002b448e04349aef8f583422d1dca171bc3f528bc885e1a3b979e52246220898dc1f9d6725c75a0623e20654a9fd11560a04bd1c61978c7a079f10b217324d89eb53a998de1f257ae6fcff5151e06b1d3bec5dc2aff647ffe5bc3d748e451853cda701836e61441641abd397fbcc9bb352bb88866c7f74c5d9752ca42e55bde69ef6f73d76056470ccc31620ce35a781a35c1ab0fd9df176a3238f2957f258731195fa6a54a389f6856cd408787409131700c5a058bb8926dcc59e7cc966fba319bdc2c7710c843cf8041b68ae0376901391fc4e6e6e709e5fc1fcbe829136366f6ff726b6563e80ed6c2a84565ad278e22a35c99fc6218fc6f06694c281dca07cc6f4a8de81041a5cd3c592cae699e8450c186bf65ee348a68490a9f016e4c6fc2424a69e07d03b53a1b50877c957dbf1fbafd3b21950c899d190078b5d32fa9605574c739792572c61a32d92bfd8228712a6668b281a2907589fcf6c17b79f983ffece16f19fc2bf67f0ef39fcfb321fbe3ac499450bfa5e63b424f87fa501422ae73c72b48877c9cef84b1656ea8e91344e2822a1620ab2d90ad68f2c0ac416f95144d485bfa01494005901208f41a2399300e235409877531b82821ca0e07928d2de813652a5e5017275b31467a7bb7406bcd25d9af7ec2dedb9b534efd9cba93015d263d2d22e12510daf40cc458dccbb64fbeb2a5f95de986e9c2f0bf68a85e228acbbc8c1a02eaeea0370a59d4838d304f495ce8732af0d7b3bc8de16b45a43402c48c2286fe371150714e692472045cc9906c2bdcce000a9b34a06b83fe38f9c718c4607d6290aa6d4bd9c4b54c6388a9000fe7cbaf1f4d98b2df2f4f936feb7b3f9759582927a3c51bbe45909f98c3e3bf17bf2bc789f11f229bc7e9abdbeade3056c168d3d0a3aadc6e7019b01b4db05a357d0dbd92e5e1bcea7019f23fd11c9affb699511385b239af4c5b9204f78880a9d46ba451260f9ca9b5dfb5c33c7c80c36bd061d58d13dd7cc52fff9f6766b4f5e438d59fc9f8212eb83c21bab90068153a162274069e3ff0c99c729d908e9fb94a65fbdf82a7ebf997790ca15180031a80960e903fba62c7d796542267f06de073340134af26580c022ab714561e3f97837af4bfe0c4491a065a6b0e693d8074a2b102a0248886b825335958c5e2a34110201cd258ba5803601b0e044c1e20db6c635d77eb947cb4f6a4cfe3cc95fd78820814cd9acdce6ecb83731220846c2c45a099fec190cb1c8e357755be3e5152cb5c6ce38d89b40b95d42c110231722069192046d187c17d1abdc14a1575862ffa01aca7e7a6c4693002c06e89e997a7c4ecdba6f57380341da0942418138322dc3b511a4a73a86339560ef016c3c9c6725a8df464449d7fe748cc0bc786e2c00e21bcedc1f3d7b3a22d65a19edec7c359a0076d87b3e545c1b073b213ef740eb3aef61416e3319e2bc7512949a67c8977e1ab9cdf1322602129e838590c473d03aec349a8971c4ae4be89b8a60d36a11a5f6817dc82dc0a98eb201f027fc2b086ecd0f6b4a82917a990fb4b1591da04ce379b0887db49e48fecb717d7625e16f128f329a7dce4295cb7fd1098844a4607d60c52fe78a0609fccfa48249df1fdddc94d1c51a4adfde8e0ededab7c063e4e6b3b4f667b7d52932034d2c094a949c04bc4ad714174f8ad813d751155b9a12e64fa37a3d60dbf91ced60d433e943b9971a8e072f3dae2d80ef3e8fa6408fbd69cec920c11aa935857fb4327ec128f9b8218b920a90068d831cd4f21c82f23c63b1c039ec9d38dff36a335647e1d0f3087607abbb908bb42a425c256a1f442814832002aa5c334b991ea8b0cb3e787242f22beea1d8ac00352c0efadc2a6f35087457cc7bc0cebabb1b19f9702abe93e898f641e3c352737af22169a8fc4423030f025acc66bd10dbeeee463f58c735957a201bcea0badf03cf99edf14352904e45320c6458b9a5765818eb459ff4609f4b80de9b2441bbf62c4ad2851f7fc0f26257fb8e85dad647f3e01b2e958675fe7a8b8828581070ceaf23c26724622e538acac5d724a529b9a63242bb2935250a4b0417c427d0ff8ccf4f23f4d873350d1d1776410598c0093d67e76979752d95031d5840ccff4e3a6c7545a8d7455a7ba6d69effacb4a655ea9860c128e311702b99c73c30b09e1de4b4eb1e00cdafbac28f4b5378e163ec09699048632c119f2a32650cdc097a8571a84483b907a6a80bbe18b4f0c6a4886e84094e430a185a9d6925138d0203a3daf5b864c554a6be1b7cf43f6b56ca003b058d1315966d141283bb985a461f5592eb264483a50290b6197f3f6a99ccea8bca63e9a1b09cabc2c1e649007632f0728df52b4c9ef5870d8be5d9b8d364038d6bf49d368b1e5a05e2c5327970d02d8e47847b48ef7404ced472c948a5e8e6069b1c63c106fe1a9f9e80356ca6101e19d5b64ff46ef0ef0f0076cde65c2a75957a501384b04df46ad58c6957b1dc800e018d5566d0c56093610cf14f157c336b105f02629ff2c863efd1206d743fc0522e1b5cc4520968737bdbd7572107258703c9a9c009747d4bce734d755210bc15c2a6219e77e25cfb0cecef24ba8c8c35fbd6fe685ad8c3fb52c08a310394cfed8fb5fa72696455f379faabbfb7461fa002db38a803061310ee1988908d9b1becf70d932eb00f9db312cb7fb6d90eddca9073af95a3dbc13e85ca1f11e6ae929a63635fc1fa5715f3bafe4c253fd33b6591ab4a7926bd2417e3c66843d6d57ac57ad0a75dd06de0a9dc84d4a2b0e9b3d2921b116827aace022deda5b2ab080bfdfed50fa6b677e5cb578f922f007d2f19d8cb11c7304a1ab828693368ef75e234e9466a7d7c6d80cc11318b7af0fec6d4bc07844fb8642ed26f2dbc33cb3604bf2df825a5e4af631e5dd1807771cf60b2a456ada3f8bc8f2e2fa5146b92a51d8787648b7920a67deef05fa10e0dda821df74184b9e9fd1b1e30457e2734b8a60bf52a09a74cdede36f437d700613afc16e9e8eb68a14d5f531e5164bea38723af2fc23eeafe20dc0f47dc003bbf1fda9aae1e1169dd40249e83418f40d0be60dd6b70fa5ecf8ca3b70e7dbbebd30e351581736be97f40b6ab0120718d9e6f619466318ee62c169dac3b89d853cb1c36ac91126699d1b514b9fd7dc0ee60bb079c6d72b4dcf8323cf340fc84fb7f3d5cf42355e0bc1b59fd205cd46aea23dd0dc5cfc0c97b1d0560a5fdcc541f1d3bbb7a52ebeb9578bc539244aecfdc4bd627dda7f3484846c0660fb9c2dd0ff500d363814018d47dcc50a5bbc73c4966cbd5a141dfcec4b9dd9afd896b7fbd25ce0ca8cc4e0e526af3aee6139474b9185064b6b35b1cb7864f665eb74724da1d24da11d98b250f4121b7ed3ee28e4b81f080d81e58f92e0ffa0cda7c13aebed3d60bab47a33993a356fd443eff9c0c5d05f170a0e41e6b5905fbb5433c64e14f0720c73e82ac96e1db2e636d6ef81d229be5b824ee569522928657ee2d241941e7c36291f9767729f888ad8f67738c3ffe92edd96f6cfefa78229016bd2cf4884f0ec239641ba86c8b83691465c711529c8d2259332e53c0d313910102ff11946906657a77230e7f246f350ff83fcc06cc9a0bc902ccb9700c7f1e8747a3a9ba543d04387ef3f6de09e0c6491aeeacf917f018519d481aeceedcde7ef62fe2eb9da4d5c8193cad4720183b622e125afdf285169a065f60d4661a23c7840c64c5bdbdc5a78d8ebaa791f1b62ef0b1cc649b0f4dcb418be7dbf843d251247a3821c181bf7f4a66e64b2a0700f2611409f03ad8ebefc9937d92806e9cf1a8531d0ea6399eedf585ec8b3066a39373bc57b156acb1d7edc84e5ee0b950d350252e1e35182d234af320d76b737a36877498cbd318bb664e3e1938f66cb6c2e00fa9d7fbb61afe660fedad2764e9c9bfc7ec0eddd5f731566866a67d20f7676deb7f80c56d8d4ebbfb5f589d5d06b8d03e9388ba7a4c47005a0cf075f7feeb471b5bfa6835d7fbc66a3d1bd0b3b78cfaa7bc02a5a38d711ec09545e7d615611c302cae978eff6ed62b0c87ee6c6f0fde957e1be359a3936299251bd07c9d1df27bc1626f2524aa2702ec42de3702d897c6d0dcdd5ee340403380b604f3d1c1095769f9b253171f6ce7be2e307fecdc570a8704ea79d417a83ff43c4076ad28b05538d851253ef06056bb0843d0bf7d315690415f8ae85ebcc321e25bf7160b697e5052c538fbbddb06786bf938adbc0ab51a0a27234fa9b3511b4dcdae4037593a7a7f32b47bdc25f877f6d0eb5c3ac051af37f9c35fefa5ea10b7bddee68378efff1a5e1992023a5a7b11f9c33dfb809b33c54fbb4133a91e32c757e6f4976abf74c1b0cc1ed51e072c9a6bdfee733deced8b36afaf4ee4574273b75016eb5cc128f9b0400ff45f4b64c191f11e320804bc1d5ff090811a00c792ed8ebedd0dc35da546b7b7bb0088a905eede4c721679c1c2fabfd8c8cc40f5ea68fb7cdfc3a58b92e7d87effa22c02e6ca83e58f61d7b9faccd7d7df3fc8758b8a04e4f794f22bcbf8fac8e4cf18769339bba9923e0290cc4b137034dcf19eabcc5d3784ab97824bfa2bad625c85546961fa96dd09a008ee5f22151be72963c611d393a66c9c2731deac2713f28d9049d8792d6cd0c80a869e73ed27d331d8a7937cecd22fc9602e15534d487e30577dc999adb01e204b48e0c230732117134fb8097a1be965f3a6f9562afee064e14a256d44394a965c17bda7c15b98c266373aeebe62bbfc26a0d9fe67fa5ac84bab1ff1a804d8449934d9271328b0b58c5e1911656eb060ccdc46ca519180a27d0f1886661eec096662f43c5e15ffe238b7c7ecdaf50528dc1c8f3c5257b93b9762505c87530cf413c6a6a68ca06dbf4500608c4a9ad44e94c45280e1119a7c0b6401a421a791c6744f9a14e6e0181857cb05f4f7b9cf8280a797df5335be37312817d4492f9c99db781da49179958c10d95db612fe453f75cc7362f26826723a34a73a270357a418729c45b8eaf5df18e924d734b75bc6e3711796f6cefe322493acc6121cf35eee03c57cc0fbc130bb92dc896076053ac30f6f39e770e7bb5129b2796fc7362ac1daf8b740a7b8f309ed0ceb76c2797ad20921f7de81a80554ce01820546bd2b6405f5225456627148af9797a6c89cf53985c54ef319778da8d6268b7c1e7a54f95f9763dcc5d19bcd42544b6be4350812c1ffd02ca96577328fb89b8f2be8cd4db8b0174f8a051fb37f64077aa130377a6c1b9b09874025075463388d2898ea3641c83b39f90bf6be9ff53a9ab492d4e08c8e4143bd6551d0cc6bc8c7b6d566d4108f4e4d74747fe4ecb4e06eaa3a1ea78148a5c709e6ad06b62d4c33a07518d9b60e1acef5e421fef3da9d3b5f5cef8f9e20e8c0622fdf83616ba4b3d2516a67176918fce7033a1dd4273a442d9dd6cdbc066e0d737d6f2664982695c19fa334651c72df4b336b4b769bb04176dccc98c0e6edcd1720718e59d0bec06c3a5947e3c84400c69fa6575d70e3a1a5d4e3522f9a9b477b019d820754100c06b76002d71e58c93a81b5176b35daf228c69bde690cad41e1026594802c325f920683689adca72662a352c639430573dc11042891b8498680a5a10f4c5bf72ee178f0d5e0efe020dc0383c180d71adccf9cca0e9e5822fa2674d380a122fca5b1f2a43db02ac756eadbb611daf7585a26d14ef0efbfb74d702c0d160021decf8feccca16161540e3116455b02c89161fa039266e4189154ec852d363ba4a6bb3139470a2893d012d529fe844e85499408aa65839b03d5dee6b8736ba78969bbc823136fdc9100e01ffee4c3ba6413798109854905b0d216b9642c46bc43507e3625a6c9a7698865f2120071a019b052057b85a75bb510abe0d53183467ec739c72e91d5ea3ce2ad6361e09b0634babc37480c415f1989e907c67012409d01e509a64ca28740884b2b7d6372aa31b54612788698e4cba768d07ef9c224fda42eb222ee6dc1c4b8b85166675bcc08181c506699cbee71a82d6bf4aa06d74d996994f25d072d6a318cee2dc3a6d61da824291e76352a120d8ae54a320e0009df5cfbdc1f7d2bc2ec0052aa17b1ab36ad38480d527be8b65dddc5cd14216565746eb3a0444ac3f28cf390aafc4c3bb841a2ec9ca15556cfc671ff44a5765b11bdd1c3ece70a94f516404aee1a52810f8e315baf6dd1c0e303d63043f21783de750e7258cfb5bcf35cbc348a1ab72129b88531888b06611bf178d766b5cdc144892a5005151f33690c0e9a6881beaa4b4c0002f86b619306b3acf1f019ac2debe72c988d864c6b39cc84578ba6e27ddb9ad73aa5a569b534cf7be8a07b79bfaee94cb5ef3eb6c4f0dbf96b50e01b49b182a5d812271d949a26df1e285d6fa4572c4dca5565f79212ff34bfc3bd7ec8f41cc65b12341d84461eda35079e0064bc4d96d266503e9d505cf5ddf63d46977100a0ed4620ae82559e5f8e900916d9544198f6a63c41c0ade0450fce9b064649d27736fdc474d9895c4f00ba1289ceb2f7f47b9158eb917b912bfa8e03130d361dcbd5dcc9b6fdb6be71eecfd7c4fb5ebdbe6679e3acadbc6d03adadde109fb500688c3f6b3e6b4b6987cf6ac6b6d683b1196cf526b9dbb38bf42d3c05f1d03ca85a1769545ed5146e8319b2fc311dbe6e8f4571662fea951cdb24e2ef123c5d06e20ad5638ab672b43f9afccf2fd4f9c7a1f3dfdbce7f387f1fff7ab3b3f5e2f9eda7934e13c4e039cc2b3555dbbd8996a9ca1db396b2c2333dc784f8401d1baa03bd39b3c16e9227bd5a8cc98fa92386ef154c06fa6234087253d49c8eed74805603db3a4196bc46cd193f47961927770c6dad7b1db8ec0776f17f1b4843bdc1bbc09432d7aa20e5ee3351f549de78f1bcf0fe8cf11a8041b6d9ee006e65de9f71f89007f09f07d86e8c37b78c0748369c4d538a9747a4329fc1d8f8fb66658c28582ca14ac308b62fdb8f72aca7e5de50ed2fd373b6bc5fd3d5fca4ace9a8ace5f0c52a0ace74505571ff9c9c144a2e5363b6de1d15599ea2a8d0671f553b590277e9275b5a68287c468faaaa94b2709049d0628e7527c06663f21307bd044cef4a667c353e235c176111860bc298a0b0680ef42dc54036feb99945e3123cf54b552639f8bd90599e0589ec217b1717094d3f186e34afc76bd3a5570f95f8b321f631126bb82e1a2e75435caf3bd9312f869b31ad180c736e4dd54e3134a5039ddcb36a269186875b127e9b3965e94ab04435b4ebbefe98854d398061e05882678b27fec94c8a10591d93019010d3a68ba8144706158f0962eb158a48ec752a550aafcbe6b208cb4b1aca480d8166286309268f7e922bc9489a4915bbd2af7cd489c638533a3e99726de73d0dfa134c156902c1b89ea35d974e70fae9aa887c737861be326535594b246a097cab4c5fe78e961ad90c2926418a0974768516eb435626af7c8dace70e5915a67be113c50223656640730ab8b87753bfc2d57e7febc3f0c7b981cb267146d050704d1a192bd8a5550383fa2b4c7efbcbff23aa5d713c6a81b2959e843627a21ae26f84afa8f1704a1ec36f1e4e2d9e2bc54d8130c67d570b99f9600c2563a5f3173625a6d50dc00268697ae800d8d098f9625d7140ee9eac727331af8fc643cc77dbf07bc6e22e03be5c636513be683c3ac0ffb3095eaa94ca267ca9037bdaa7f4bcc458b7fed5728eb49de46661c8a3fdd1cec78b2a94e9da66b997cb6bfbdef69e14580ac079056302c7e2deef16ae60f65387ebb9cc6500969ad00d0ea98399835838d069217ab8f7ebe837a18689ed07f8679158e8ccf639d504cfa8813516b10cfa3b1afdf7b0e1926a8221a7885a4e0514ab52fbd900462a314473844f5905a879c915e266bd9b3363e34ecd55eb288d53a1f7b730bad3c5837d60d3e2b7eaae98995e43d5906ad7075f111cc36091b7c6885716e9ea3e64fe11b698d2eff954239e2586f9638b69d52da6b5b794067f62e901b694b2cf0c75ec27a55fa4538f7c3fa9610e55f6758a4f29ddf3ce4d5f7ce3c35bc1ad960a5e30629139da80e77fc91b70f5050c486c01e93ba9617ab6960bf240d1dd2a31451dc6afcd891f352ec1f3d11cc81fe9fb731679df4f6310a8d7899e0b5c46f01e285021e49a6c7ccf8f266a731809cabdad66ab95c85001e9a311e28ce1c730cc2504d0fbe7e6234318c9ccde908da144a8f774674234401a4c0cfc80f707a0507a33a342a4f4dd9de8d4e86f0d523561fb68acf3864a306b587006b632531ab8165898803081231919b32c2b194698467f77264b13b28fa9586ce2542bc74811e3eedb9756c3acaa5b4a1daea35dca700da5072ef8ebd0e8dec230f5b31791c9b6f2f64df426df5a296886af6d0d6fb4247453224fb9c57d4562dadda2c7413ffb0d8593ec58610b0d4d8dc3285a8d8ef556f74ccb7548d96e0ba5f0bec1239975aa107c3b207c5376a59e2c214685ae66c43b8b7315ee47bd6d52e3bcf4db28cb58cf565999f71acd1e3bf3e500a787c71bb4c9d35ade99059ba4ac10383bb57e37c3bd01ff4a5b000fe4fda4de0d10fbede91d3d9eac8b15c906038ef3d13f1a93bd5586b300d9c344fb788ac7dea9c47dbc019c659653b53a8f20b276e88f688f2a752da4d78a6d5638d4144dbb5a86759c576a605e80f2785573dbf1fa6f2f2ede9c9bed5ec0a2cdb052ece287f31e7d9c4e3d567c441af843ad67e7e6cbb747525c2b265b4866cad3e2810b59a5c9bf01090f23112d429128d049746ea3f42673401b079ead68d89f7d34b3de9764b2a6b96f6169d0e7cd29f99e2d069c79f6065d78c75bafd97af4e6147ac6fdb89133eab8f76a7ace62f5b9ca5de1d3cb953d08a6ed981b16824dd0d62c62d264606bcbddd339136df3f0e86ef4acf4d5ff7f930d9555f720ac5290462974ec4324b27507c2a038a5eea527458c9f10c6cb74e9eb4bb6980a2aa1f18c06ea21b72b080d186066fecf93caafb685711804e29a74ead1bfacb7b5d1f85c3c8b5cb988f1c447529e1baeec213f8ff26061ae0e97775825cc83b90e09fc14435728986acbb4258aff23bd134ce338df44872e66f9d15d89c39904f8a042b0637b20cdc32c3af919c3588ad0c065ae1a9ba34ae98cd139e5b5cfcf57cec9e4bf9c2b1a24cc496450e43cc261aba99fecbe3f9dcf259b9bb3c286b714b0577a7c329982120816845e01314cac8a6a72f31974fbd96d0d8cd5546b59a7a65be3963c6f24bbe2ecbafec9c4b37221aaa1f46785475a84349695330745ff45623afbfe04e7e477f29bb299f46d216028d94750bbe56f30a448537813ebb767f7a3727f2e7d01ebae1ab7f85643beefebe2771806c23848e5be12f7a66ff1239b78eed71c13eb4eb6859596e5fab1f97d6a696e493903509af3073f352aeca7464167b0304f71d7995e3b4da75d4fb65d6863fba592ec68e70c0f826400234f471cde52b26f5e1e9a9c5b1bb3f269cf527252c3cf0e6a8001537573833d9ee255985fe8af9888a8f4f5ac7c2c5b56cd6a6a121967399066260b0036cf7e630a580acad5bc6eb6cc68942752254db053619e8dcf41d99a749ba677f354f99a53ca46c518458ed552e2d4460ea3c3a948eaeb73c12f144babec5266852aeba484303d66cce0ef54b0ccd23599dc4c3480f9cc73591529b08a37261b13ac03c231ad9f7ef9621c9bf77a813561c5c14841e0d080cfa35de2ecbc88c1a3f019d2727f8459fd6149f1b4bf3f7af6e2c56872b03795934211963e2492a93f7f27835b664e4165193d16f1c2ced4e72efcfc9a3cddde794ebea397624a8e849ce7f7a56602d776dc4d3bc6f00307e91652ede64b48d7b589be2fe225150f02d3ff1d5209cc7cc4d9d4048678a33cf224ac1b2749e4d3b0b582d47e22c9e17bbcca79f6f22772eefa2150adb56ee2490e96ca51a22f615d71e1775bb523169173eef9a275c02320a787c11d9f073c6eede0af601970e8629e484f29cc1a50c97a382993a1aa2857a6df77209c0a6f6de19db5fa486915d053e484b3b09dc2168f9821e1307dbd6c45e96c01d27c9e005e57b475940b285b90330132dd01c7df18d31c40a5118dd8509a947f767075293d5ee4068939385ee1612566fadaa41992c418a7e63827663312b3124f1710a479292be938e7228025750c5232b176d85f051e62994b1a8638c80f509ae0a28b9926b7489ba83d25693b0c13823c8d2b0929eb63a20d38e57a9ab8974c9b712fc173e014fce909e8b0f7a0a46a2f968d7c42230e12020088186c58366070bc1e369e0b310f98c9bc194f540496f2c2990b2041febb7bd41d83efb9adb80adaa5749f96ec1313be70a9eb834952fc9e0432e91efe19901a8127a791bbd298bf25bf25130c0e04782a6774507dee1ef0393986c98850a7931fb4b7d29860e87b5a22baec8a05de14085c7bb36476b740322508a84765422e24c75f115d65f82bae65124dde51dcd92b3d740cba2a1fa36cc02afc9b4ae5e7d03e7f77de8dd4b663286aa770ab7f0e111fa6a760d283a1466383d5e8e0287b5ec2a576a00bf0de4087d647ca14536179e08372c116d476814f71c373d0e3dfec4949537ad051d1c935d71d9a3868d0b20183fdf62e6172e13c1d6f8f9ff5d7cec936f94d4d0a1af6b6b3d9f25042550f22715cab002e8349940f568b0e81aeff0b0000ffff010000ffff9a0a28ff19a10000") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) Assets["index.html"] = bs @@ -153,7 +153,7 @@ func init() { bs, _ = ioutil.ReadAll(gr) Assets["logo-text-64.png"] = bs - bs, _ = hex.DecodeString("1f8b080000096e8800ff7c91b16e84300c86f73e4594a13721969bdae3963e89210622990425e6248478f72690a69cca758098d89fedffe7a6f4433404de5772b00a48b4a050dedf84f8932a9406b29d14a62bd2fd72d933d45d3e0481eb70ddd833bab186d170ca9f55f418663b01848ef777b12c9e8127bfae990b647f7d065933e1a12094f8114c5c54b795d461b4fc213a9ac73ede881c8529f188336e65048f9d9665ebbeaebfe3cbfe9a459441c56b45b555f3e6173b30bea149e16b326ddb90f5289ffbb4d632baa305f5c41c34f03c6225f78fccd46c44780a852d4cc4522860087fcf0f3ab70c52378bfe71c5e1601f983d79c7c18f9f3bb5c92160bc7fc56d53c5addc17399198c314a4e31b0000ffff010000ffff3e1bbdca7f020000") + bs, _ = hex.DecodeString("1f8b080000096e8800ff7c91c18ea3300c86effb14560ecbee01a1957aea96aeb4f3248618881a1294986a10e2dd27090cd3ceb4738038893fdbff9f935457a8357a5f8ade4ad4d0a024018c9532925e4b91ff1160da1c995d2e9131afb0be48678752cc7340ad27f807ec468223649e91559dc1b27ca22e3455169d4cd47f6b35a1f995e8df31f9fc03e0cb2cb954a86d9b2a6de773b6dee8363b8246d7d2ca3ea26b6b980c6ff78f323a0a621da026c7eb3f9fe72861f4cbb27381ec0ef7202bd674931052fc80260eaa9a52a8d05abc13ad9e862e9ec01e852e71893d4e45046f2bcd73aabe2c1fed8beeb08b28828ae78a2a2ba7e4173b34bed6a3a4e7e4366d7a05715fa7b196c9dd5a508dcc41034f039562ddec4cc506c2974b6a70d42c203db954be577bc9203559f48d2b8e7a7ba5dd939fd4fbe1ef4a25391a99ce2f71da2de354ac833c90b8875bb02d6f000000ffff010000ffffa7f946daf0020000") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) Assets["modal.html"] = bs diff --git a/gui/app.js b/gui/app.js index 3b4e0a049..9c467cd0c 100644 --- a/gui/app.js +++ b/gui/app.js @@ -128,7 +128,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.$on('UIOffline', function (event, arg) { console.log('UIOffline'); if (!restarting) { - $('#networkError').modal({backdrop: 'static', keyboard: false}); + $('#networkError').modal(); } }); @@ -188,7 +188,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca document.cookie = "firstVisit=" + Date.now() + ";max-age=" + 30*24*3600; } else { if (+firstVisit < Date.now() - 4*3600*1000){ - $('#ur').modal({backdrop: 'static', keyboard: false}); + $('#ur').modal(); } } } @@ -471,7 +471,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.tmpOptions = angular.copy($scope.config.Options); $scope.tmpOptions.UREnabled = ($scope.tmpOptions.URAccepted > 0); $scope.tmpGUI = angular.copy($scope.config.GUI); - $('#settings').modal({backdrop: 'static', keyboard: true}); + $('#settings').modal(); }; $scope.saveConfig = function() { @@ -514,7 +514,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.restart = function () { restarting = true; - $('#restarting').modal({backdrop: 'static', keyboard: false}); + $('#restarting').modal(); $http.post(urlbase + '/restart'); $scope.configInSync = true; @@ -536,9 +536,9 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.upgrade = function () { restarting = true; - $('#upgrading').modal({backdrop: 'static', keyboard: false}); + $('#upgrading').modal(); $http.post(urlbase + '/upgrade').success(function () { - $('#restarting').modal({backdrop: 'static', keyboard: false}); + $('#restarting').modal(); $('#upgrading').modal('hide'); }).error(function () { $('#upgrading').modal('hide'); @@ -548,7 +548,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.shutdown = function () { restarting = true; $http.post(urlbase + '/shutdown').success(function () { - $('#shutdown').modal({backdrop: 'static', keyboard: false}); + $('#shutdown').modal(); }); $scope.configInSync = true; }; @@ -559,7 +559,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.editingSelf = (nodeCfg.NodeID == $scope.myID); $scope.currentNode.AddressesStr = nodeCfg.Addresses.join(', '); $scope.nodeEditor.$setPristine(); - $('#editNode').modal({backdrop: 'static', keyboard: true}); + $('#editNode').modal(); }; $scope.idNode = function () { @@ -571,7 +571,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.editingExisting = false; $scope.editingSelf = false; $scope.nodeEditor.$setPristine(); - $('#editNode').modal({backdrop: 'static', keyboard: true}); + $('#editNode').modal(); }; $scope.deleteNode = function () { @@ -679,14 +679,14 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.currentRepo.simpleKeep = $scope.currentRepo.simpleKeep || 5; $scope.editingExisting = true; $scope.repoEditor.$setPristine(); - $('#editRepo').modal({backdrop: 'static', keyboard: true}); + $('#editRepo').modal(); }; $scope.addRepo = function () { $scope.currentRepo = {selectedNodes: {}}; $scope.editingExisting = false; $scope.repoEditor.$setPristine(); - $('#editRepo').modal({backdrop: 'static', keyboard: true}); + $('#editRepo').modal(); }; $scope.saveRepo = function () { @@ -763,7 +763,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.showNeed = function (repo) { $scope.neededLoaded = false; - $('#needed').modal({backdrop: 'static', keyboard: true}); + $('#needed').modal(); $http.get(urlbase + "/need?repo=" + encodeURIComponent(repo)).success(function (data) { $scope.needed = data; $scope.neededLoaded = true; diff --git a/gui/index.html b/gui/index.html index 7a18a9061..9492ed7c2 100644 --- a/gui/index.html +++ b/gui/index.html @@ -395,6 +395,8 @@

Syncthing is restarting. Please wait...

+ +

Syncthing is upgrading. Please wait...

@@ -414,7 +416,7 @@ -